summaryrefslogtreecommitdiff
path: root/svx/source/cui/dlgname.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/cui/dlgname.hxx')
-rw-r--r--svx/source/cui/dlgname.hxx207
1 files changed, 207 insertions, 0 deletions
diff --git a/svx/source/cui/dlgname.hxx b/svx/source/cui/dlgname.hxx
new file mode 100644
index 0000000000..cd13055a40
--- /dev/null
+++ b/svx/source/cui/dlgname.hxx
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: dlgname.hxx,v $
+ * $Revision: 1.5 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_DLG_NAME_HXX
+#define _SVX_DLG_NAME_HXX
+
+
+#ifndef _EDIT_HXX //autogen
+#include <vcl/edit.hxx>
+#endif
+#ifndef _BUTTON_HXX //autogen
+#include <vcl/button.hxx>
+#endif
+#ifndef _FIXED_HXX //autogen
+#include <vcl/fixed.hxx>
+#endif
+#ifndef _DIALOG_HXX //autogen
+#include <vcl/dialog.hxx>
+#endif
+#include <vcl/fixed.hxx>
+
+// #i68101#
+#include <svtools/svmedit.hxx>
+
+/*************************************************************************
+|*
+|* Dialog zum Editieren eines Namens
+|*
+\************************************************************************/
+class SvxNameDialog : public ModalDialog
+{
+private:
+ FixedText aFtDescription;
+ Edit aEdtName;
+ OKButton aBtnOK;
+ CancelButton aBtnCancel;
+ HelpButton aBtnHelp;
+
+ Link aCheckNameHdl;
+#if _SOLAR__PRIVATE
+ DECL_LINK(ModifyHdl, Edit*);
+#endif
+
+public:
+ SvxNameDialog( Window* pWindow, const String& rName, const String& rDesc );
+
+ void GetName( String& rName ){rName = aEdtName.GetText();}
+
+ /** add a callback Link that is called whenever the content of the edit
+ field is changed. The Link result determines wether the OK
+ Button is enabled (> 0) or disabled (== 0).
+
+ @param rLink a Callback declared with DECL_LINK and implemented with
+ IMPL_LINK, that is executed on modification.
+
+ @param bCheckImmediately If true, the Link is called directly after
+ setting it. It is recommended to set this flag to true to avoid
+ an inconsistent state if the initial String (given in the CTOR)
+ does not satisfy the check condition.
+
+ @todo Remove the parameter bCheckImmediately and incorporate the 'true'
+ behaviour as default.
+ */
+ void SetCheckNameHdl( const Link& rLink, bool bCheckImmediately = false )
+ {
+ aCheckNameHdl = rLink;
+ if ( bCheckImmediately )
+ aBtnOK.Enable( rLink.Call( this ) > 0 );
+ }
+
+ void SetEditHelpId(ULONG nHelpId) {aEdtName.SetHelpId(nHelpId);}
+};
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+// #i68101#
+// Dialog for editing Object Title and Description
+// plus uniqueness-callback-linkHandler
+
+class SvxObjectNameDialog : public ModalDialog
+{
+private:
+ // name
+ FixedText aFtName;
+ Edit aEdtName;
+
+ // separator
+ FixedLine aFlSeparator;
+
+ // buttons
+ HelpButton aBtnHelp;
+ OKButton aBtnOK;
+ CancelButton aBtnCancel;
+
+ // callback link for name uniqueness
+ Link aCheckNameHdl;
+#if _SOLAR__PRIVATE
+ DECL_LINK(ModifyHdl, Edit*);
+#endif
+
+public:
+ // constructor
+ SvxObjectNameDialog(Window* pWindow, const String& rName);
+
+ // data access
+ void GetName(String& rName) {rName = aEdtName.GetText(); }
+
+ // set handler
+ void SetCheckNameHdl(const Link& rLink, bool bCheckImmediately = false)
+ {
+ aCheckNameHdl = rLink;
+
+ if(bCheckImmediately)
+ {
+ aBtnOK.Enable(rLink.Call(this) > 0);
+ }
+ }
+};
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+// #i68101#
+// Dialog for editing Object Title and Description
+
+class SvxObjectTitleDescDialog : public ModalDialog
+{
+private:
+ // title
+ FixedText aFtTitle;
+ Edit aEdtTitle;
+
+ // description
+ FixedText aFtDescription;
+ MultiLineEdit aEdtDescription;
+
+ // separator
+ FixedLine aFlSeparator;
+
+ // buttons
+ HelpButton aBtnHelp;
+ OKButton aBtnOK;
+ CancelButton aBtnCancel;
+
+public:
+ // constructor
+ SvxObjectTitleDescDialog(Window* pWindow, const String& rTitle, const String& rDesc);
+
+ // data access
+ void GetTitle(String& rTitle) {rTitle = aEdtTitle.GetText(); }
+ void GetDescription(String& rDescription) {rDescription = aEdtDescription.GetText(); }
+};
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+
+/*************************************************************************
+|*
+|* Dialog zum Abbrechen, Speichern oder Hinzufuegen
+|*
+\************************************************************************/
+class SvxMessDialog : public ModalDialog
+{
+private:
+ FixedText aFtDescription;
+ PushButton aBtn1;
+ PushButton aBtn2;
+ CancelButton aBtnCancel;
+ FixedImage aFtImage;
+ Image* pImage;
+#if _SOLAR__PRIVATE
+ DECL_LINK( Button1Hdl, Button * );
+ DECL_LINK( Button2Hdl, Button * );
+#endif
+public:
+ SvxMessDialog( Window* pWindow, const String& rText, const String& rDesc, Image* pImg = NULL );
+ ~SvxMessDialog();
+
+ void SetButtonText( USHORT nBtnId, const String& rNewTxt );
+};
+
+
+
+#endif // _SVX_DLG_NAME_HXX
+