diff options
Diffstat (limited to 'toolkit/inc')
-rw-r--r-- | toolkit/inc/layout/layout-post.hxx | 53 | ||||
-rw-r--r-- | toolkit/inc/layout/layout-pre.hxx | 95 | ||||
-rw-r--r-- | toolkit/inc/layout/layout.hxx | 486 | ||||
-rw-r--r-- | toolkit/inc/layout/layoutcore.hxx | 80 | ||||
-rw-r--r-- | toolkit/inc/toolkit/awt/vclxwindows.hxx | 4 |
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); |