merge the formfield patch from ooo-build
[ooovba.git] / toolkit / source / layout / core / dialogbuttonhbox.hxx
blob8159fa458c293ca79695397a73abf655d8f05479
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile$
11 * $Revision$
13 * This file is part of OpenOffice.org.
15 * OpenOffice.org is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU Lesser General Public License version 3
17 * only, as published by the Free Software Foundation.
19 * OpenOffice.org is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU Lesser General Public License version 3 for more details
23 * (a copy is included in the LICENSE file that accompanied this code).
25 * You should have received a copy of the GNU Lesser General Public License
26 * version 3 along with OpenOffice.org. If not, see
27 * <http://www.openoffice.org/license.html>
28 * for a copy of the LGPLv3 License.
30 ************************************************************************/
32 #ifndef LAYOUT_CORE_DIALOGBUTTONHBOX_HXX
33 #define LAYOUT_CORE_DIALOGBUTTONHBOX_HXX
35 #include <layout/core/box.hxx>
36 #include <layout/core/flow.hxx>
38 namespace layoutimpl
41 class DialogButtonHBox : public HBox
43 public:
44 DialogButtonHBox();
46 void setOrdering( rtl::OUString const& ordering );
47 void SAL_CALL addChild( css::uno::Reference< css::awt::XLayoutConstrains > const& xChild ) throw ( css::uno::RuntimeException, css::awt::MaxChildrenException );
48 void SAL_CALL removeChild( css::uno::Reference< css::awt::XLayoutConstrains > const& xChild ) throw ( css::uno::RuntimeException );
50 private:
51 enum Ordering { PLATFORM, GNOME, KDE, MACOS, WINDOWS };
53 void orderChildren();
54 void gnomeOrdering();
55 void kdeOrdering();
56 void macosOrdering();
57 void windowsOrdering();
59 static Ordering const DEFAULT_ORDERING;
60 Ordering mnOrdering;
61 Flow mFlow;
63 ChildData *mpAction; /* [..]?, [Retry?] */
64 ChildData *mpAffirmative; /* OK, Yes, Save */
65 ChildData *mpAlternate; /* NO, [Ignore?], Don't save, Quit without saving */
66 ChildData *mpApply; /* Deprecated? */
67 ChildData *mpCancel; /* Cancel, Close */
68 ChildData *mpFlow;
69 ChildData *mpHelp;
70 ChildData *mpReset;
72 std::list< Box_Base::ChildData *> maOther;
75 } // namespace layoutimpl
77 #endif /* LAYOUT_CORE_DIALOGBUTTONHBOX_HXX */