summaryrefslogtreecommitdiff
path: root/toolkit/inc
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/inc')
-rw-r--r--toolkit/inc/layout/layout-post.hxx53
-rw-r--r--toolkit/inc/layout/layout-pre.hxx95
-rw-r--r--toolkit/inc/layout/layout.hxx486
-rw-r--r--toolkit/inc/layout/layoutcore.hxx80
-rw-r--r--toolkit/inc/toolkit/awt/vclxwindows.hxx4
5 files changed, 493 insertions, 225 deletions
diff --git a/toolkit/inc/layout/layout-post.hxx b/toolkit/inc/layout/layout-post.hxx
index fb1a809a6156..d5597bb0073b 100644
--- a/toolkit/inc/layout/layout-post.hxx
+++ b/toolkit/inc/layout/layout-post.hxx
@@ -34,39 +34,72 @@
#if ENABLE_LAYOUT
+/* Allow re-inclusion for cxx file. */
+#undef _LAYOUT_PRE_HXX
+
+
#undef AdvancedButton
+#undef ApplyButton
#undef Box
#undef Button
#undef CancelButton
#undef CheckBox
+#undef ComboBox
#undef Container
+#undef Control
+#undef Dialog
+#undef Edit
+#undef ErrorBox
#undef FixedImage
#undef FixedInfo
#undef FixedLine
#undef FixedText
-#undef HelpButton
#undef HBox
+#undef HelpButton
+#undef IgnoreButton
+#undef ImageButton
+#undef InfoBox
+#undef ListBox
+#undef MessBox
+#undef MessageBox
#undef MetricField
+#undef MetricFormatter
#undef MoreButton
#undef MultiLineEdit
+#undef MultiListBox
+#undef NoButton
+#undef NumericField
+#undef NumericFormatter
#undef OKButton
+#undef Plugin
#undef ProgressBar
#undef PushButton
+#undef QueryBox
#undef RadioButton
-#undef SfxModalDialog
+#undef ResetButton
+#undef RetryButton
+#undef SfxTabPage
+#undef SfxTabDialog
+#undef SpinField
+#undef TabDialog
+#undef TabControl
+#undef TabPage
#undef Table
#undef VBox
+#undef WarningBox
+#undef YesButton
-#undef Window
-
-#undef SVX_RES
-#define SVX_RES(i) ResId(i,DIALOG_MGR())
+#undef SvxFontListBox
+#undef SvxLanguageBox
-#undef SW_RES
-#define SW_RES(i) ResId(i,SWDIALOG_MGR())
+#undef ModalDialog
+#undef ModelessDialog
+#undef ScExpandedFixedText
+#undef SfxDialog
+#undef SfxModalDialog
+#undef SfxModelessDialog
-/* Allow re-inclusion for cxx file. */
-#undef _LAYOUT_PRE_HXX
+#undef Window
#endif /* ENABLE_LAYOUT */
diff --git a/toolkit/inc/layout/layout-pre.hxx b/toolkit/inc/layout/layout-pre.hxx
index 747c8b13db45..d8a1e5d9665c 100644
--- a/toolkit/inc/layout/layout-pre.hxx
+++ b/toolkit/inc/layout/layout-pre.hxx
@@ -34,83 +34,78 @@
#if ENABLE_LAYOUT
-//#if !LAYOUT
-//#define LAYOUT 1
-//#endif
-//#define LAYOUT_NS layout
-
-// TWBN, but find that SfxModalDialog and FixedLine are already defined, eg compiling
-// dlgfact.cxx
-//typedef layout::Dialog SfxModalDialog;
-//typedef layout::FixedLine FixedLine;
+///* Allow re-inclusion for next hxx file. */
+#undef _LAYOUT_POST_HXX
#define AdvancedButton layout::AdvancedButton
+#define ApplyButton layout::ApplyButton
#define Box layout::Box
#define Button layout::Button
#define CancelButton layout::CancelButton
#define CheckBox layout::CheckBox
+#define ComboBox layout::ComboBox
#define Container layout::Container
+#define Control layout::Control
+#define Dialog layout::Dialog
+#define Edit layout::Edit
+#define ErrorBox layout::ErrorBox
#define FixedImage layout::FixedImage
#define FixedInfo layout::FixedInfo
#define FixedLine layout::FixedLine
#define FixedText layout::FixedText
#define HBox layout::HBox
#define HelpButton layout::HelpButton
+#define IgnoreButton layout::IgnoreButton
+#define ImageButton layout::ImageButton
+#define InfoBox layout::InfoBox
+#define LocalizedString layout::LocalizedString
+#define ListBox layout::ListBox
+#define MessBox layout::MessBox
+#define MessageBox layout::MessageBox
#define MetricField layout::MetricField
+#define MetricFormatter layout::MetricFormatter
#define MoreButton layout::MoreButton
#define MultiLineEdit layout::MultiLineEdit
+#define MultiListBox layout::MultiListBox
+#define NoButton layout::NoButton
+#define NumericField layout::NumericField
+#define NumericFormatter layout::NumericFormatter
#define OKButton layout::OKButton
+#define Plugin layout::Plugin
#define ProgressBar layout::ProgressBar
#define PushButton layout::PushButton
+#define QueryBox layout::QueryBox
#define RadioButton layout::RadioButton
-#define SfxModalDialog layout::Dialog
+#define ResetButton layout::ResetButton
+#define RetryButton layout::RetryButton
+#define SfxTabDialog layout::SfxTabDialog
+#define SfxTabPage layout::SfxTabPage
+#if ENABLE_LAYOUT
+#define SvxFontListBox layout::SvxFontListBox
+#define SvxLanguageBox layout::SvxLanguageBox
+#endif
+#define SpinField layout::SpinField
+#define TabControl layout::TabControl
+#define TabPage layout::TabPage
#define Table layout::Table
#define VBox layout::VBox
+#define WarningBox layout::WarningBox
+#define YesButton layout::YesButton
-/* FIXME: why are we defaulting to layout::Window?
- /home/janneke/vc/ooo-build/build/hack/sw/source/ui/dialog/wordcountdialog.cxx:87: error: no matching function for call to 'layout::Dialog::Dialog(Window*&, const char [14], const char [7])'
- ../../../../layout/inc/layout/layout.hxx:304: note: candidates are: layout::Dialog::Dialog(layout::Window*, const char*, const char*, sal_uInt32)
- ../../../../layout/inc/layout/layout.hxx:300: note: layout::Dialog::Dialog(const layout::Dialog&)
-*/
+#define ModalDialog Dialog
+#define ModelessDialog Dialog
+#define ScExpandedFixedText FixedText
+#define SfxDialog Dialog
+#define SfxModalDialog Dialog
+#define SfxModelessDialog Dialog
+#define TabDialog Dialog
#define Window ::Window
-#undef SVX_RES
-#define SVX_RES(x) #x
-#undef SW_RES
-#define SW_RES(x) #x
-
-/* Hmm. This hack makes zoom.cxx, wordcountdialog.cxx diffs smaller
- * but is not scalable. */
-#ifdef _LAYOUT_POST_HXX
-
-#ifdef _SVX_RECOVER_CXX
-#undef SfxModalDialog
-// 3rd parameter must match ID in <modaldialog> "RID_SVXDLG_RECOVER", localize.sdf
-#define SfxModalDialog( pParent, SVX_RES_RID ) layout::Dialog( pParent, "recover.xml", "RID_SVXDLG_RECOVER" )
-//#define _SVX_RECOVER_HRC
-#endif /* _SVX_RECOVER_CXX */
-
-#ifdef SW_WORDCOUNTDIALOG_HXX
-#undef SfxModalDialog
-// 3rd parameter must match ID in <modaldialog> "DLG_WORDCOUNT", localize.sdf
-#define SfxModalDialog( pParent, SW_RES_RID ) layout::Dialog( pParent, "wordcount.xml", "DLG_WORDCOUNT" )
-#define SW_WORDCOUNTDIALOG_HRC
-#endif /* SW_WORDCOUNTDIALOG_HXX */
-
-#ifdef _SVX_ZOOM_CXX
-#undef SfxModalDialog
-// 3rd parameter must match ID in <modaldialog> "RID_SVXDLG_ZOOM", localize.sdf
-#define SfxModalDialog( pParent, SVX_RES_RID ) layout::Dialog( pParent, "zoom.xml", "RID_SVXDLG_ZOOM" )
-#define _SVX_ZOOM_HRC
-#endif /* _SVX_ZOOM_CXX */
-
-#endif /* _LAYOUT_POST_HXX */
-
-#else /* !ENABLE_LAYOUT */
+#else
-#define LAYOUT_PRE_POST
+#define LocalizedString String
-#endif /* !ENABLE_LAYOUT */
+#endif /* ENABLE_LAYOUT */
#endif /* _LAYOUT_PRE_HXX */
diff --git a/toolkit/inc/layout/layout.hxx b/toolkit/inc/layout/layout.hxx
index 2f3ff0df461f..19179507b294 100644
--- a/toolkit/inc/layout/layout.hxx
+++ b/toolkit/inc/layout/layout.hxx
@@ -32,21 +32,54 @@
#ifndef _LAYOUT_HXX
#define _LAYOUT_HXX
-#include <com/sun/star/uno/XInterface.hpp>
#include <com/sun/star/awt/XLayoutContainer.hpp>
+#include <com/sun/star/uno/XInterface.hpp>
#include <com/sun/star/util/Color.hpp>
+#include <i18npool/lang.h>
+#include <toolkit/dllapi.h>
+#include <tools/gen.hxx>
#include <tools/link.hxx>
#include <tools/string.hxx>
-
-// FIXME: eventually wrap FieldUnit
+#include <vcl/bitmap.hxx>
+#include <vcl/combobox.h>
#include <vcl/fldunit.hxx>
-// FIXME: eventually wrap this too ...
+#include <vcl/lstbox.h>
+#include <vcl/smartid.hxx>
#include <vcl/wintypes.hxx>
-#include <toolkit/dllapi.h>
-
-class Window;
+class Button;
+class ComboBox;
+class Color;
+class Control;
+class Dialog;
+class Edit;
+class Font;
class Image;
+class ListBox;
+class MapMode;
+class MultiListBox;
+class NotifyEvent;
+class Pointer;
+class PushButton;
+class RadioButton;
+class ResId;
+struct SfxChildWinInfo;
+//class SvxFontListBox;
+//class SvxLanguageBox;
+class TabControl;
+class TabPage;
+class VCLXRadioButton;
+class VCLXWindow;
+class Window;
+
+namespace layoutimpl
+{
+class VCLXTabControl;
+}
+
+class VCLXTabControl;
+
+namespace com { namespace sun { namespace star { namespace awt { class XWindow; } } } }
namespace layout
{
@@ -60,8 +93,8 @@ class TOOLKIT_DLLPUBLIC Context
ContextImpl *pImpl;
public:
Context( char const* pPath );
- ~Context();
- PeerHandle GetPeerHandle( char const* pId, sal_uInt32 nId = 0 ) const;
+ virtual ~Context();
+ PeerHandle GetPeerHandle( char const* id, sal_uInt32 nId = 0 ) const;
void setToplevel( PeerHandle xToplevel );
PeerHandle getToplevel();
PeerHandle getRoot();
@@ -74,36 +107,95 @@ public:
par( pImpl ) {} \
char const* GetUnoName() const; \
public: \
- t( Context *pCtx, char const* pId, sal_uInt32 nId = 0 ); \
- t( Window *pParent, WinBits nStyle = defaultWinBit )
+ t( Context *context, char const* id, sal_uInt32 nId = 0 ); \
+ t( Window *parent, WinBits nStyle = defaultWinBit ); \
+ t (Window *parent, ResId const &res)
#define DECL_GET_IMPL(t) \
inline t##Impl &getImpl() const
+#define DECL_GET_WINDOW( cls ) ::cls* Get##cls() const
+#define IMPL_GET_WINDOW( cls ) ::cls* cls::Get##cls() const { return dynamic_cast< ::cls*>( GetWindow() ); }
+
+#define DECL_GET_VCLXWINDOW( cls ) ::VCLX##cls* GetVCLX##cls() const
+#define IMPL_GET_VCLXWINDOW( cls ) ::VCLX##cls* cls::Get##VCLX##cls() const { return dynamic_cast< ::VCLX##cls*>( GetVCLXWindow() ); }
+
+#define DECL_GET_LAYOUT_VCLXWINDOW( cls ) ::layoutimpl::VCLX##cls* GetVCLX##cls() const
+#define IMPL_GET_LAYOUT_VCLXWINDOW( cls ) ::layoutimpl::VCLX##cls* cls::Get##VCLX##cls() const { return dynamic_cast< ::layoutimpl::VCLX##cls*>( GetVCLXWindow() ); }
+
// follows the VCL inheritance hierarchy ...
class WindowImpl;
class TOOLKIT_DLLPUBLIC Window
{
protected:
+ friend class WindowImpl;
WindowImpl *mpImpl;
- static PeerHandle CreatePeer( Window *pParent, WinBits nStyle,
+ static PeerHandle CreatePeer( Window *parent, WinBits nStyle,
char const* pName);
+
+ virtual void setRes (ResId const& res);
+
public:
- PeerHandle GetPeer();
- Context *getContext();
DECL_GET_IMPL( Window );
explicit Window( WindowImpl *pImpl );
virtual ~Window();
+ PeerHandle GetPeer() const;
+ Context *getContext();
+
void Enable( bool bEnable = true );
inline void Disable() { Enable( false ); }
- void Show( BOOL bVisible = TRUE );
- inline void Hide() { Show( FALSE ); }
+ void Show( bool bVisible = true );
+ inline void Hide() { Show( false ); }
void GrabFocus();
void FreeResource() {}
+ void SetParent( ::Window *parent );
+ virtual void ParentSet (Window *window);
+ void SetParent( Window *parent );
+
+ css::uno::Reference<css::awt::XWindow> GetRef() const;
+ VCLXWindow* GetVCLXWindow() const;
+ ::Window* GetWindow() const;
+ ::Window* GetParent() const;
+
+ void SetPointer( Pointer const& pointer );
+ Pointer const& GetPointer() const;
WinBits GetStyle();
- void SetStyle( WinBits nStyle );
+ void SetText( rtl::OUString const& str );
+ String GetText() const;
+ void SetStyle( WinBits style );
+ void SetUpdateMode( bool mode );
+ void SetHelpId( sal_uIntPtr id );
+ sal_uIntPtr GetHelpId() const;
+ void SetSmartHelpId( SmartId const&, SmartIdUpdateMode mode=SMART_SET_SMART );
+ SmartId GetSmartHelpId() const;
+ void EnterWait ();
+ void LeaveWait ();
+ bool IsWait () const;
+ //void Enable (bool enable=true, bool child=true);
+ //void Disable (bool child=true);
+ bool IsEnabled () const;
+ void EnableInput (bool enable=true, bool child=true);
+ bool IsInputEnabled () const;
+
+ bool IsVisible () const;
+ bool HasChildPathFocus (bool systemWindow=false) const;
+ void SetPosPixel (Point const&);
+ Point GetPosPixel () const;
+ void SetSizePixel (Size const&);
+ Size GetSizePixel () const;
+ void SetPosSizePixel (Point const&, Size const&);
+ sal_Int32 GetCtrlTextWidth (rtl::OUString const& str) const;
+ sal_Int32 GetTextHeight () const;
+
+ Size LogicToPixel( Size const& size ) const;
+ Size LogicToPixel( Size const& size, MapMode const& mapMode ) const;
+
+ bool HasFocus () const;
+ Font& GetFont () const;
+ void SetFont (Font const& font);
+ virtual void Invalidate (sal_uInt8 flags=0);
};
class ControlImpl;
@@ -111,34 +203,39 @@ class TOOLKIT_DLLPUBLIC Control : public Window
{
DECL_GET_IMPL( Control );
DECL_CONSTRUCTORS( Control, Window, 0 );
+
public:
-// void SetText( String const& rStr ); - can't do this here ...
+ ~Control ();
+ void SetGetFocusHdl (Link const& link);
+ Link& GetGetFocusHdl ();
+ void SetLoseFocusHdl (Link const& link);
+ Link& GetLoseFocusHdl ();
};
class FixedLineImpl;
class TOOLKIT_DLLPUBLIC FixedLine : public Control
{
- friend class FixedLineImpl;
DECL_GET_IMPL( FixedLine );
DECL_CONSTRUCTORS( FixedLine, Control, WB_HORZ );
+
public:
- bool IsEnabled();
+ bool IsEnabled() const;
};
class FixedTextImpl;
class TOOLKIT_DLLPUBLIC FixedText : public Control
{
- friend class FixedTextImpl;
DECL_GET_IMPL( FixedText );
DECL_CONSTRUCTORS( FixedText, Control, 0 );
+
public:
- void SetText( String const& rStr );
+ ~FixedText ();
+ void SetText( rtl::OUString const& rStr );
};
class FixedImageImpl;
class TOOLKIT_DLLPUBLIC FixedImage : public Control
{
- friend class FixedImageImpl;
DECL_GET_IMPL( FixedImage );
DECL_CONSTRUCTORS( FixedImage, Control, 0 );
public:
@@ -148,7 +245,6 @@ public:
class FixedInfoImpl;
class TOOLKIT_DLLPUBLIC FixedInfo : public FixedText
{
- friend class FixedInfoImpl;
DECL_GET_IMPL( FixedInfo );
DECL_CONSTRUCTORS( FixedInfo, FixedText, 0 );
};
@@ -166,16 +262,21 @@ public:
class ButtonImpl;
class TOOLKIT_DLLPUBLIC Button : public Control
{
- friend class ButtonImpl;
DECL_GET_IMPL( Button );
DECL_CONSTRUCTORS( Button, Control, 0 );
+ DECL_GET_WINDOW (Button);
+
public:
- void SetText( String const& rStr );
- BOOL SetModeImage( const Image& rImage );
+ ~Button ();
+ static String GetStandardText (sal_uInt16 button_type);
+ void SetText( rtl::OUString const& rStr );
+ bool SetModeImage (Image const& image);
+ bool SetModeImage (::Image const& image, BmpColorMode mode=BMP_COLOR_NORMAL);
void SetImageAlign( ImageAlign eAlign );
void SetClickHdl( Link const& rLink );
virtual void Click() /* pure virtual? */;
+ Link& GetClickHdl ();
};
class PushButtonImpl;
@@ -183,9 +284,12 @@ class TOOLKIT_DLLPUBLIC PushButton : public Button
{
DECL_GET_IMPL( PushButton );
DECL_CONSTRUCTORS( PushButton, Button, 0 );
+ DECL_GET_WINDOW (PushButton);
+
public:
- void Check( BOOL bCheck = TRUE );
- BOOL IsChecked() const;
+ ~PushButton ();
+ void Check( bool bCheck=true );
+ bool IsChecked() const;
void Toggle();
void SetToggleHdl( Link const& rLink );
@@ -227,6 +331,10 @@ class TOOLKIT_DLLPUBLIC HelpButton : public PushButton
{
DECL_CONSTRUCTORS( HelpButton, PushButton, 0 );
};
+class TOOLKIT_DLLPUBLIC ImageButton : public PushButton
+{
+ DECL_CONSTRUCTORS( ImageButton, PushButton, 0 );
+};
class AdvancedButtonImpl;
class TOOLKIT_DLLPUBLIC AdvancedButton : public PushButton
@@ -238,6 +346,12 @@ class TOOLKIT_DLLPUBLIC AdvancedButton : public PushButton
void AddSimple( Window* w );
void RemoveAdvanced( Window* w );
void RemoveSimple( Window* w );
+
+ void SetAdvancedText (rtl::OUString const& text);
+ void SetSimpleText (rtl::OUString const& text);
+ rtl::OUString GetAdvancedText () const;
+ rtl::OUString GetSimpleText () const;
+ void SetDelta (int);
};
class MoreButtonImpl;
@@ -247,6 +361,11 @@ class TOOLKIT_DLLPUBLIC MoreButton : public AdvancedButton
DECL_GET_IMPL( MoreButton );
void AddWindow( Window* w );
void RemoveWindow( Window* w );
+
+ void SetMoreText (rtl::OUString const& text);
+ void SetLessText (rtl::OUString const& text);
+ rtl::OUString GetMoreText () const;
+ rtl::OUString GetLessText () const;
};
class RadioButtonImpl;
@@ -254,9 +373,12 @@ class TOOLKIT_DLLPUBLIC RadioButton : public Button
{
DECL_GET_IMPL( RadioButton );
DECL_CONSTRUCTORS( RadioButton, Button, 0 );
+ DECL_GET_WINDOW( RadioButton );
+ DECL_GET_VCLXWINDOW( RadioButton );
public:
- void Check( BOOL bCheck = TRUE );
- BOOL IsChecked() const;
+ ~RadioButton ();
+ void Check( bool bCheck=true );
+ bool IsChecked() const;
void Toggle();
void SetToggleHdl( Link const& rLink );
@@ -267,9 +389,11 @@ class TOOLKIT_DLLPUBLIC CheckBox : public Button
{
DECL_GET_IMPL( CheckBox );
DECL_CONSTRUCTORS( CheckBox, Button, 0 );
+
public:
- void Check( BOOL bCheck = TRUE );
- BOOL IsChecked() const;
+ ~CheckBox ();
+ void Check( bool bCheck=true );
+ bool IsChecked() const;
void Toggle();
void SetToggleHdl( Link const& rLink );
@@ -280,10 +404,14 @@ class TOOLKIT_DLLPUBLIC Edit : public Control
{
DECL_GET_IMPL( Edit );
DECL_CONSTRUCTORS( Edit, Control, WB_BORDER );
+ DECL_GET_WINDOW (Edit);
+
public:
- void SetText( XubString const& rStr ) const;
- XubString GetText() const;
+ ~Edit ();
+ void SetText( rtl::OUString const& rStr );
+ String GetText() const;
void SetModifyHdl( Link const& rLink );
+ void SetSelection( Selection const& rSelection );
};
class MultiLineEditImpl;
@@ -305,8 +433,7 @@ class TOOLKIT_DLLPUBLIC FormatterBase
{
protected:
FormatterBaseImpl *mpFormatImpl;
- FormatterBase( FormatterBaseImpl *pFormatImpl )
- : mpFormatImpl( pFormatImpl ) {}
+ FormatterBase( FormatterBaseImpl *pFormatImpl );
};
class NumericFormatterImpl;
@@ -331,8 +458,8 @@ class TOOLKIT_DLLPUBLIC NumericField : public SpinField, public NumericFormatter
{
DECL_GET_IMPL( NumericField );
public:
- NumericField( Context *pCtx, char const* pId, sal_uInt32 nId = 0 );
- NumericField( Window *pParent, WinBits nStyle );
+ NumericField( Context *context, char const* id, sal_uInt32 nId=0 );
+ NumericField( Window *parent, WinBits nStyle );
};
class MetricFormatterImpl;
@@ -343,12 +470,12 @@ class TOOLKIT_DLLPUBLIC MetricFormatter : public FormatterBase
explicit MetricFormatter( FormatterBaseImpl *pImpl );
MetricFormatterImpl &getFormatImpl() const;
public:
- void SetMin( sal_Int64 nNewMin, FieldUnit nUnit = FUNIT_NONE );
- void SetMax( sal_Int64 nNewMax, FieldUnit nUnit = FUNIT_NONE );
- void SetFirst( sal_Int64 nNewFirst, FieldUnit nUnit = FUNIT_NONE );
- void SetLast( sal_Int64 nNewLast, FieldUnit nUnit = FUNIT_NONE );
- void SetValue( sal_Int64 nNewValue, FieldUnit nUnit = FUNIT_NONE );
- sal_Int64 GetValue( FieldUnit nUnit = FUNIT_NONE ) const;
+ void SetMin( sal_Int64 nNewMin, FieldUnit nUnit=FUNIT_NONE );
+ void SetMax( sal_Int64 nNewMax, FieldUnit nUnit=FUNIT_NONE );
+ void SetFirst( sal_Int64 nNewFirst, FieldUnit nUnit=FUNIT_NONE );
+ void SetLast( sal_Int64 nNewLast, FieldUnit nUnit=FUNIT_NONE );
+ void SetValue( sal_Int64 nNewValue, FieldUnit nUnit=FUNIT_NONE );
+ sal_Int64 GetValue( FieldUnit nUnit=FUNIT_NONE ) const;
void SetSpinSize( sal_Int64 nNewSize );
};
@@ -358,73 +485,209 @@ class TOOLKIT_DLLPUBLIC MetricField : public SpinField, public MetricFormatter
{
DECL_GET_IMPL( MetricField );
public:
- MetricField( Context *pCtx, char const* pId, sal_uInt32 nId = 0 );
- MetricField( Window *pParent, WinBits nStyle );
+ MetricField( Context *context, char const* id, sal_uInt32 nId=0 );
+ MetricField( Window *parent, WinBits nStyle );
};
-#define COMBOBOX_APPEND ((USHORT)0xFFFF)
-#define COMBOBOX_ENTRY_NOTFOUND ((USHORT)0xFFFF)
class ComboBoxImpl;
class TOOLKIT_DLLPUBLIC ComboBox : public Edit
{
DECL_GET_IMPL( ComboBox );
+ DECL_GET_WINDOW (ComboBox );
DECL_CONSTRUCTORS( ComboBox, Edit, 0 );
public:
- USHORT InsertEntry( XubString const& rStr, USHORT nPos = COMBOBOX_APPEND );
- void RemoveEntry( XubString const& rStr );
- void RemoveEntry( USHORT nPos );
+ ~ComboBox ();
+ sal_uInt16 InsertEntry( String const& rStr, sal_uInt16 nPos=COMBOBOX_APPEND );
+ void RemoveEntry( String const& rStr );
+ void RemoveEntry( sal_uInt16 nPos );
void Clear();
- USHORT GetEntryPos( XubString const& rStr ) const;
- XubString GetEntry( USHORT nPos ) const;
- USHORT GetEntryCount() const;
+ sal_uInt16 GetEntryPos( String const& rStr ) const;
+ String GetEntry( sal_uInt16 nPos ) const;
+ sal_uInt16 GetEntryCount() const;
void SetClickHdl( Link const& rLink );
void SetSelectHdl( Link const& rLink );
+ void EnableAutocomplete (bool enable, bool matchCase=false );
};
-#define LISTBOX_APPEND ((USHORT)0xFFFF)
-#define LISTBOX_ENTRY_NOTFOUND ((USHORT)0xFFFF)
class ListBoxImpl;
class TOOLKIT_DLLPUBLIC ListBox : public Control
{
DECL_GET_IMPL( ListBox );
DECL_CONSTRUCTORS( ListBox, Control, WB_BORDER );
+ DECL_GET_WINDOW (ListBox);
+
public:
- USHORT InsertEntry( XubString const& rStr, USHORT nPos = LISTBOX_APPEND );
+ ~ListBox ();
+ sal_uInt16 InsertEntry( String const& rStr, sal_uInt16 nPos=LISTBOX_APPEND );
- void RemoveEntry( XubString const& rStr );
- void RemoveEntry( USHORT nPos );
+ void RemoveEntry( String const& rStr );
+ void RemoveEntry( sal_uInt16 nPos );
void Clear();
- USHORT GetEntryPos( XubString const& rStr ) const;
- XubString GetEntry( USHORT nPos ) const;
- USHORT GetEntryCount() const;
+ sal_uInt16 GetEntryPos( String const& rStr ) const;
+ String GetEntry( sal_uInt16 nPos ) const;
+ sal_uInt16 GetEntryCount() const;
- void SelectEntry( XubString const& rStr, BOOL bSelect = TRUE );
- void SelectEntryPos( USHORT nPos, BOOL bSelect = TRUE );
+ void SelectEntry( String const& rStr, bool bSelect=true );
+ void SelectEntryPos( sal_uInt16 nPos, bool bSelect=true );
- USHORT GetSelectEntryCount() const;
- XubString GetSelectEntry( USHORT nSelIndex = 0 ) const;
- USHORT GetSelectEntryPos( USHORT nSelIndex = 0 ) const;
+ sal_uInt16 GetSelectEntryCount() const;
+ String GetSelectEntry( sal_uInt16 nSelIndex=0 ) const;
+ sal_uInt16 GetSelectEntryPos( sal_uInt16 nSelIndex=0 ) const;
- void SetSelectHdl( Link const& rLink );
- void SetClickHdl( Link const& rLink );
+ void SetSelectHdl (Link const& link);
+ Link& GetSelectHdl ();
+
+ void SetClickHdl (Link const& link);
+ Link& GetClickHdl ();
+
+ void SetDoubleClickHdl (Link const& link);
+ Link& GetDoubleClickHdl ();
+
+ void SetEntryData (sal_uInt16 pos, void* data);
+ void* GetEntryData (sal_uInt16 pos) const;
+
+ virtual void SetNoSelection ();
+};
+
+class MultiListBoxImpl;
+class TOOLKIT_DLLPUBLIC MultiListBox : public ListBox
+{
+ DECL_GET_IMPL( MultiListBox );
+ DECL_CONSTRUCTORS( MultiListBox, ListBox, 0 );
+ DECL_GET_WINDOW( MultiListBox );
};
class DialogImpl;
class TOOLKIT_DLLPUBLIC Dialog : public Context, public Window
{
- DECL_GET_IMPL( Dialog );
- void SetParent( Window *pParent );
- void SetParent( ::Window *pParent );
+ DECL_GET_WINDOW (Dialog);
+
+public:
+ DECL_GET_IMPL (Dialog);
+ Dialog( Window *parent, char const* xml_file, char const* id, sal_uInt32 nId=0 );
+ Dialog( ::Window *parent, char const* xml_file, char const* id, sal_uInt32 nId=0 );
+ ~Dialog ();
+ virtual short Execute();
+ void EndDialog( long nResult=0 );
+ void SetText( rtl::OUString const& rStr );
+ void SetTitle (rtl::OUString const& rStr );
+ bool Close ();
+ long Notify (NotifyEvent & event);
+
+ // Sxf*Dialog
+ bool bConstruct;
+ void Initialize (SfxChildWinInfo*);
+};
+
+#define DECL_MESSAGE_BOX_CTORS(Name)\
+ public:\
+ Name##Box (::Window *parent, char const* message,\
+ char const* yes=0, char const* no=0, sal_uIntPtr help_id=0,\
+ char const* xml_file="message-box.xml", char const* id="message-box");\
+ Name##Box (::Window *parent, rtl::OUString const& message,\
+ rtl::OUString yes=String (),\
+ rtl::OUString no=String (),\
+ sal_uIntPtr help_id=0,\
+ char const* xml_file="message-box.xml", char const* id="message-box");\
+ Name##Box (::Window *parent, WinBits, char const* message,\
+ char const* yes=0, char const* no=0, sal_uIntPtr help_id=0,\
+ char const* xml_file="message-box.xml", char const* id="message-box");\
+ Name##Box (::Window *parent, WinBits, rtl::OUString const& message,\
+ rtl::OUString yes=String (),\
+ rtl::OUString no=String (),\
+ sal_uIntPtr help_id=0,\
+ char const* xml_file="message-box.xml", char const* id="message-box")\
+
+class TOOLKIT_DLLPUBLIC MessageBox : public Dialog
+{
+ DECL_MESSAGE_BOX_CTORS(Message);
+
+protected:
+ FixedImage imageError;
+ FixedImage imageInfo;
+ FixedImage imageQuery;
+ FixedImage imageWarning;
+ FixedText messageText;
+ CancelButton cancelButton;
+ HelpButton helpButton;
+ IgnoreButton ignoreButton;
+ NoButton noButton;
+ RetryButton retryButton;
+ YesButton yesButton;
+
+ void bits_init (WinBits bits, rtl::OUString const& message,
+ rtl::OUString yes, rtl::OUString, sal_uIntPtr help_id);
+ void init (rtl::OUString const& message,
+ rtl::OUString const& yes, rtl::OUString const& no, sal_uIntPtr help_id);
+ void init (char const* message, char const* yes, char const* no, sal_uIntPtr help_id);
+};
+
+#define CLASS_MESSAGE_BOX(Name)\
+ class TOOLKIT_DLLPUBLIC Name##Box : public MessageBox\
+ {\
+ DECL_MESSAGE_BOX_CTORS (Name);\
+ }
+
+//CLASS_MESSAGE_BOX (Mess);
+typedef MessageBox MessBox;
+CLASS_MESSAGE_BOX (Error);
+CLASS_MESSAGE_BOX (Info);
+CLASS_MESSAGE_BOX (Query);
+CLASS_MESSAGE_BOX (Warning);
+
+#undef CLASS_MESSAGE_BOX
+
+#undef TAB_APPEND
+
+class TabControlImpl;
+class TOOLKIT_DLLPUBLIC TabControl : public Control
+{
+//#ifndef TAB_APPEND
+#define TAB_APPEND 0xFFFF
+//#endif /* !TAB_APPEND */
+
+ DECL_GET_IMPL (TabControl);
+ DECL_CONSTRUCTORS (TabControl, Control, 0);
+ DECL_GET_WINDOW (TabControl);
+ DECL_GET_LAYOUT_VCLXWINDOW (TabControl);
+
+public:
+ ~TabControl ();
+ void InsertPage (sal_uInt16 id, rtl::OUString const& title, sal_uInt16 pos=TAB_APPEND);
+ void RemovePage (sal_uInt16 id);
+ sal_uInt16 GetPageCount () const;
+ sal_uInt16 GetPageId (sal_uInt16 pos) const;
+ sal_uInt16 GetPagePos (sal_uInt16 id) const;
+ void SetCurPageId (sal_uInt16 id);
+ sal_uInt16 GetCurPageId () const;
+ void SetTabPage (sal_uInt16 id, ::TabPage* page);
+ ::TabPage* GetTabPage (sal_uInt16 id) const;
+ void SetActivatePageHdl (Link const& link);
+ Link& GetActivatePageHdl () const;
+ void SetDeactivatePageHdl (Link const& link);
+ Link& GetDeactivatePageHdl () const;
+ void SetTabPageSizePixel (Size const& size);
+ Size GetTabPageSizePixel () const;
+};
+
+class TabPageImpl;
+class TOOLKIT_DLLPUBLIC TabPage : public Context, public Window
+{
+ DECL_GET_IMPL( TabPage );
public:
- Dialog( Window *pOptParent, char const* pXMLPath, char const* pId, sal_uInt32 nId = 0 );
- Dialog( ::Window *pOptParent, char const* pXMLPath, char const* pId, sal_uInt32 nId = 0 );
- short Execute();
- void EndDialog( long nResult = 0 );
- void SetText( String const& rStr );
+ static ::Window* global_parent;
+ static TabControl* global_tabcontrol;
+
+ TabPage( Window *parent, char const* xml_file, char const* id, sal_uInt32 nId=0 );
+ TabPage( ::Window *parent, char const* xml_file, char const* id, sal_uInt32 nId=0 );
+ ~TabPage();
+ DECL_GET_WINDOW( TabPage );
+ virtual void ActivatePage();
+ virtual void DeactivatePage();
};
class ProgressBarImpl;
@@ -450,7 +713,7 @@ protected:
css::uno::Reference< css::awt::XLayoutContainer > mxContainer;
Container( rtl::OUString const& rName, sal_Int32 nBorder );
public:
- Container( Context const* pCtx, char const* pId );
+ Container( Context const* context, char const* id );
void Add( Window *pWindow );
void Add( Container *pContainer );
@@ -474,11 +737,11 @@ class TOOLKIT_DLLPUBLIC Table : public Container
protected:
Table( sal_Int32 nBorder, sal_Int32 nColumns );
public:
- Table( Context const* pCtx, char const* pId );
+ Table( Context const* context, char const* id );
void Add( Window *pWindow, bool bXExpand, bool bYExpand,
- sal_Int32 nXSpan = 1, sal_Int32 nYSpan = 1 );
+ sal_Int32 nXSpan=1, sal_Int32 nYSpan=1 );
void Add( Container *pContainer, bool bXExpand, bool bYExpand,
- sal_Int32 nXSpan = 1, sal_Int32 nYSpan = 1 );
+ sal_Int32 nXSpan=1, sal_Int32 nYSpan=1 );
private:
void setProps( css::uno::Reference< css::awt::XLayoutConstrains > xChild,
@@ -490,7 +753,7 @@ class TOOLKIT_DLLPUBLIC Box : public Container
protected:
Box( rtl::OUString const& rName, sal_Int32 nBorder, bool bHomogeneous );
public:
- Box( Context const* pCtx, char const* pId );
+ Box( Context const* context, char const* id );
void Add( Window *pWindow, bool bExpand, bool bFill, sal_Int32 nPadding);
void Add( Container *pContainer, bool bExpand, bool bFill, sal_Int32 nPadding);
@@ -502,16 +765,69 @@ private:
class TOOLKIT_DLLPUBLIC HBox : public Box
{
public:
- HBox( Context const* pCtx, char const* pId );
+ HBox( Context const* context, char const* id );
HBox( sal_Int32 nBorder, bool bHomogeneous );
};
class TOOLKIT_DLLPUBLIC VBox : public Box
{
public:
- VBox( Context const* pCtx, char const* pId );
+ VBox( Context const* context, char const* id );
VBox( sal_Int32 nBorder, bool bHomogeneous );
};
+class PluginImpl;
+class TOOLKIT_DLLPUBLIC Plugin : public Control
+{
+ DECL_GET_IMPL( Plugin );
+ //DECL_CONSTRUCTORS( Plugin, Control, 0 );
+public:
+ ::Control *mpPlugin;
+ Plugin( Context *context, char const* id, ::Control *plugin );
+};
+
+class LocalizedStringImpl;
+class TOOLKIT_DLLPUBLIC LocalizedString : public Window
+{
+ DECL_GET_IMPL( LocalizedString );
+
+public:
+ LocalizedString( Context *context, char const* id );
+
+ rtl::OUString operator= (rtl::OUString const&);
+ rtl::OUString operator+= (sal_Unicode );
+ rtl::OUString operator+= (rtl::OUString const&);
+
+ operator rtl::OUString ();
+ operator rtl::OUString const& ();
+ operator String();
+ String getString ();
+ rtl::OUString getOUString ();
+ String GetToken (USHORT i, sal_Char c);
+};
+
+class InPlugImpl;
+class TOOLKIT_DLLPUBLIC InPlug : public Context, public Window
+{
+ DECL_GET_IMPL (InPlug);
+
+public:
+ InPlug ( Window *parent, char const* xml_file, char const* id, sal_uInt32 nId=0);
+ InPlug ( ::Window *parent, char const* xml_file, char const* id, sal_uInt32 nId=0);
+
+ void ParentSet (Window *window);
+};
+
} // end namespace layout
+#if ENABLE_LAYOUT
+#define LAYOUT_NS layout::
+#define LAYOUT_DIALOG_PARENT\
+ VCLXWindow::GetImplementation( uno::Reference <awt::XWindow> ( GetPeer(), uno::UNO_QUERY ) )->GetWindow()
+#define LAYOUT_THIS_WINDOW( this ) this->GetWindow ()
+#else /* !ENABLE_LAYOUT */
+#define LAYOUT_NS
+#define LAYOUT_DIALOG_PARENT this
+#define LAYOUT_THIS_WINDOW( this ) this
+#endif /* !ENABLE_LAYOUT */
+
#endif /* _LAYOUT_HXX */
diff --git a/toolkit/inc/layout/layoutcore.hxx b/toolkit/inc/layout/layoutcore.hxx
deleted file mode 100644
index 2ffe777c59ae..000000000000
--- a/toolkit/inc/layout/layoutcore.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/*************************************************************************
- *
- * 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: layoutcore.hxx,v $
- *
- * $Revision: 1.3 $
- *
- * 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 _LAYOUT_CORE_HXX_
-#define _LAYOUT_CORE_HXX_
-
-#include <com/sun/star/awt/XToolkit.hpp>
-#include <com/sun/star/graphic/XGraphic.hpp>
-#include <com/sun/star/awt/XLayoutContainer.hpp>
-#include <com/sun/star/awt/XLayoutConstrains.hpp>
-
-#include <layout/layout.hxx>
-
-namespace layoutimpl
-{
-
-namespace css = layout::css;
-
-css::uno::Reference< css::awt::XLayoutContainer >
-createContainer( const rtl::OUString &rName );
-
-css::uno::Reference< css::awt::XLayoutConstrains >
-createWidget( css::uno::Reference< css::awt::XToolkit > xToolkit,
- css::uno::Reference< css::uno::XInterface > xParent,
- const rtl::OUString &rName, long nProps );
-
-css::uno::Reference< css::awt::XLayoutConstrains >
-createInternalWidget( css::uno::Reference< css::awt::XToolkit > xToolkit,
- css::uno::Reference< css::uno::XInterface > xParent,
- const rtl::OUString &rName, long nProps );
-
-css::uno::Reference< css::graphic::XGraphic > loadGraphic( const char *pName );
-
-// Helpers - unfortunately VCLXWindows don't implement XPropertySet
-// but containers do - these helpers help us to hide this
-namespace prophlp
-{
-// can we set properties on this handle ?
-bool TOOLKIT_DLLPUBLIC canHandleProps( const css::uno::Reference< css::uno::XInterface > &xRef );
-// if so which properties ?
-css::uno::Reference< css::beans::XPropertySetInfo > TOOLKIT_DLLPUBLIC queryPropertyInfo(
- const css::uno::Reference< css::uno::XInterface > &xRef );
-// set / get ...
-void TOOLKIT_DLLPUBLIC setProperty( const css::uno::Reference< css::uno::XInterface > &xRef,
- const rtl::OUString &rName,
- css::uno::Any aValue );
-css::uno::Any TOOLKIT_DLLPUBLIC getProperty( const css::uno::Reference< css::uno::XInterface > &xRef,
- const rtl::OUString &rName );
-} // namespace prophlp
-} // namespace layoutimpl
-
-#endif // _LAYOUT_CORE_HXX_
diff --git a/toolkit/inc/toolkit/awt/vclxwindows.hxx b/toolkit/inc/toolkit/awt/vclxwindows.hxx
index d131a0d5199a..3e61a9e9aa87 100644
--- a/toolkit/inc/toolkit/awt/vclxwindows.hxx
+++ b/toolkit/inc/toolkit/awt/vclxwindows.hxx
@@ -181,6 +181,7 @@ protected:
public:
VCLXButton();
+ ~VCLXButton();
// ::com::sun::star::lang::XComponent
void SAL_CALL dispose( ) throw(::com::sun::star::uno::RuntimeException);
@@ -346,6 +347,8 @@ public:
static void ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
virtual void GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getFirstActionListener ();
};
// ----------------------------------------------------
@@ -764,6 +767,7 @@ protected:
public:
VCLXComboBox();
+ ~VCLXComboBox();
// ::com::sun::star::uno::XInterface
::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);