| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef _SVX_TBCONTRL_HXX |
| #define _SVX_TBCONTRL_HXX |
| |
| /*--------------------------------------------------------------*\ |
| |
| Beschreibung: |
| ------------- |
| ToolBox-Controler fuer: |
| Font-Name, Font-Hoehe, Font-Farbe |
| Vorder-/Hintergrundfarbe /-Muster |
| Rahmen, Linien |
| (Absatz-)Vorlagen |
| |
| Bedienung: |
| ---------- |
| SvxFontNameToolBoxControl |
| ------------------------- |
| Item-Typ: SvxFontItem |
| Execute-Id: SID_ATTR_CHAR_FONT |
| -> SvxFontItem |
| Zusatzdaten |
| aus DocShell: SvxFontListItem (SID_ATTR_CHAR_FONTLIST) |
| |
| SvxFontHeightToolBoxControl |
| --------------------------- |
| Item-Typ: SvxFontHeightItem |
| Execute-Id: SID_ATTR_CHAR_FONTHEIGHT |
| -> SvxFontHeightItem |
| Zusatzdaten |
| aus DocShell: SvxFontListItem (SID_ATTR_CHAR_FONTLIST) |
| |
| SvxFontColorToolBoxControl |
| -------------------------- |
| Item-Typ: SvxFontColorItem |
| Execute-Id: SID_ATTR_CHAR_COLOR |
| -> SvxFontColorItem |
| Zusatzdaten |
| aus DocShell: z.Zt. keine |
| in Zukunft: Farbpalette |
| |
| class SvxFontColorExtToolBoxControl |
| ----------------------------------- |
| fuer die Zeichenfarbe |
| Item-Typ SvxColorItem |
| und SfxBoolItem |
| Execute-Id SID_ATTR_CHAR_COLOR |
| und SID_ATTR_CHAR_COLOR_EXT |
| |
| fuer den Zeichenhintergrund |
| Item-Typ SvxColorItem |
| und SfxBoolItem |
| Execute-Id SID_ATTR_CHAR_COLOR_BACKGROUND |
| und SID_ATTR_CHAR_COLOR_BACKGROUND_EXT |
| |
| SvxColorToolBoxControl |
| -------------------------------- |
| Item-Typ: SvxBrushItem |
| Execute-Id: SID_BACKGROUND_COLOR |
| -> SvxColorItem |
| Zusatzdaten |
| aus DocShell: z.Zt. keine |
| in Zukunft: Farbpalette |
| |
| SvxPatternToolBoxControl |
| ------------------------ |
| Item-Typ: SvxBrushItem |
| Execute-Id: SID_BACKGROUND_PATTERN |
| -> SvxBrushItem |
| Zusatzdaten |
| aus DocShell: z.Zt. keine |
| in Zukunft: Farbpalette |
| Bemerkung: Auswertung des BrushItems: |
| Die Brush-FillColor() wird als Schalter |
| missbraucht, um zu unterscheiden, ob ein |
| neuer Style oder eine neue Farbe |
| gesetzt wurde: |
| |
| GetFillColor() == COL_BLACK -> GetStyle() auswerten, |
| GetFillColor() == COL_WHITE -> GetColor() auswerten |
| |
| SvxFrameToolBoxControl |
| ---------------------- |
| Item-Typ: SvxBoxItem |
| Execute-Id: SID_ATTR_BORDER |
| -> SvxBoxItem & SvxBoxInfoItem |
| Zusatzdaten |
| aus DocShell: keine |
| Bemerkung: liefert je nach gewaehltem ValueSet-Item |
| nur SvxBoxItem oder zusaetzlich SvxBoxInfoItem |
| Wird dem Controller ein SfxUInt16Item mit einem |
| Wert != 0 geschickt, so wird der Paragraph-Mode |
| eingeschaltet, d.h. die letzte Zeile wird |
| ausgeblendet. Ein Wert == 0 schaltet wieder in |
| den Tabellenmodus. |
| |
| SvxFrameLineStyleToolBoxControl |
| ------------------------------- |
| Item-Typ: SvxLineItem |
| Execute-Id: SID_FRAME_LINESTYLE |
| -> SvxLineItem |
| Zusatzdaten |
| aus DocShell: keine |
| Bemerkung: liefert ein SvxLineItem, welches eine SvxBorderLine |
| ohne Farbinformation liefert. |
| |
| SvxFrameLineColorToolBoxControl |
| ------------------------------- |
| Item-Typ: SvxColorItem |
| Execute-Id: SID_FRAME_LINECOLOR |
| -> SvxColorItem |
| Zusatzdaten |
| aus DocShell: keine |
| |
| SvxStyleToolBoxControl |
| ---------------------- |
| Item-Typ: SfxTemplateItem |
| Execute-Id: SID_TEMPLATE_APPLY |
| -> StyleName (SfxStringItem) |
| -> eStyleFamily (SfxUInt16Item) |
| Zusatzdaten |
| aus DocShell: keine |
| Bemerkung: Umschalten der Familie ueber Invalidate |
| an den Bindings (->SfxStyleControllerItem) |
| |
| \*--------------------------------------------------------------*/ |
| |
| // include --------------------------------------------------------------- |
| |
| // ITEMID_...-Defines im *.cxx |
| |
| #include <rsc/rscsfx.hxx> |
| #include <svl/lstner.hxx> |
| #include <sfx2/tbxctrl.hxx> |
| #include <svx/strarray.hxx> |
| #include "svx/svxdllapi.h" |
| |
| #include <com/sun/star/awt/FontDescriptor.hpp> |
| |
| // wichtig im mit HeDaBu erzeugtem tbxctrls.hxx!!! |
| class SvxLineItem; |
| class SvxBoxInfoItem; |
| class SvxFontItem; |
| class SvxFontHeightItem; |
| class SfxStyleControllerItem_Impl; |
| class SfxStyleSheetBasePool; |
| class SfxTemplateItem; |
| |
| namespace svx |
| { |
| class ToolboxButtonColorUpdater; |
| } |
| //######################################################################## |
| |
| //======================================================================== |
| // class SvxStyleToolBoxControl ------------------------------------------ |
| //======================================================================== |
| class SVX_DLLPUBLIC SvxStyleToolBoxControl : public SfxToolBoxControl |
| { |
| struct Impl; |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| |
| SvxStyleToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); |
| ~SvxStyleToolBoxControl(); |
| |
| virtual Window* CreateItemWindow( Window *pParent ); |
| |
| virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| |
| DECL_LINK( VisibilityNotification, void* ); |
| protected: |
| // XInitialization |
| virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); |
| |
| // XUpdatable |
| virtual void SAL_CALL update() throw (::com::sun::star::uno::RuntimeException); |
| |
| // XComponent |
| virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException); |
| |
| private: |
| |
| #define MAX_FAMILIES 5 |
| |
| SfxStyleSheetBasePool* pStyleSheetPool; |
| SfxStyleControllerItem_Impl* pBoundItems [MAX_FAMILIES]; |
| ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > m_xBoundItems[MAX_FAMILIES]; |
| SfxTemplateItem* pFamilyState[MAX_FAMILIES]; |
| sal_uInt16 nActFamily; // Id in der ToolBox = Position - 1 |
| sal_uInt16 nActFilter; // FilterIdx |
| sal_uInt16 nAppFilter; // Filter, den die App gesetzt hat |
| String aCurSel; |
| sal_Bool bListening; |
| Impl* pImpl; |
| |
| SVX_DLLPRIVATE void Update(); |
| SVX_DLLPRIVATE void FillStyleBox(); |
| SVX_DLLPRIVATE void SelectStyle( const String& rStyleName ); |
| |
| friend class SfxStyleControllerItem_Impl; |
| |
| SVX_DLLPRIVATE void SetFamilyState ( sal_uInt16 nIdx, const SfxTemplateItem* pItem ); |
| SVX_DLLPRIVATE SfxStyleFamily GetActFamily (); |
| }; |
| |
| //======================================================================== |
| // class SvxFontNameToolBoxControl --------------------------------------- |
| //======================================================================== |
| |
| |
| class SVX_DLLPUBLIC SvxFontNameToolBoxControl : public SfxToolBoxControl |
| { |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxFontNameToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); |
| |
| virtual void StateChanged ( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| virtual Window* CreateItemWindow ( Window *pParent ); |
| }; |
| |
| |
| |
| //======================================================================== |
| // class SvxFontHeightToolBoxControl ------------------------------------- |
| //======================================================================== |
| |
| /* |
| class SvxFontSizeItem; |
| class SvxFontItem; |
| class SvxFontSizeBox_Impl; |
| |
| class SVX_DLLPUBLIC SvxFontHeightToolBoxControl : public SfxToolBoxControl |
| { |
| SvxFontSizeBox_Impl* pBox; // ItemWindow f"ur quick-access |
| ::com::sun::star::awt::FontDescriptor aCurrentFont; // Kopie des aktuellen Fonts |
| |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxFontHeightToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); |
| ~SvxFontHeightToolBoxControl(); |
| |
| // new controller API |
| // XStatusListener |
| virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) |
| throw ( ::com::sun::star::uno::RuntimeException ); |
| |
| virtual Window* CreateItemWindow( Window *pParent ); |
| }; |
| */ |
| |
| |
| //======================================================================== |
| // class SvxFontColorToolBoxControl -------------------------------------- |
| //======================================================================== |
| |
| |
| |
| class SVX_DLLPUBLIC SvxFontColorToolBoxControl : public SfxToolBoxControl |
| { |
| ::svx::ToolboxButtonColorUpdater* pBtnUpdater; |
| |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxFontColorToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); |
| ~SvxFontColorToolBoxControl(); |
| |
| virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| virtual SfxPopupWindowType GetPopupWindowType() const; |
| virtual SfxPopupWindow* CreatePopupWindow(); |
| }; |
| |
| |
| |
| //======================================================================== |
| // class SvxFontColorExtToolBoxControl -------------------------------------- |
| //======================================================================== |
| |
| |
| |
| class SVX_DLLPUBLIC SvxFontColorExtToolBoxControl : public SfxToolBoxControl |
| { |
| using SfxToolBoxControl::StateChanged; |
| using SfxToolBoxControl::Select; |
| |
| // SfxStatusForwarder aForward; |
| ::svx::ToolboxButtonColorUpdater* pBtnUpdater; |
| |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxFontColorExtToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); |
| ~SvxFontColorExtToolBoxControl(); |
| |
| virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| virtual SfxPopupWindowType GetPopupWindowType() const; |
| virtual SfxPopupWindow* CreatePopupWindow(); |
| virtual void Select( sal_Bool bMod1 = sal_False ); |
| |
| }; |
| |
| |
| |
| //======================================================================== |
| // class SvxColorToolBoxControl ------------------------------------------ |
| //======================================================================== |
| |
| |
| class SVX_DLLPUBLIC SvxColorToolBoxControl : public SfxToolBoxControl |
| { |
| ::svx::ToolboxButtonColorUpdater* pBtnUpdater; |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxColorToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); |
| ~SvxColorToolBoxControl(); |
| |
| virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| virtual SfxPopupWindowType GetPopupWindowType() const; |
| virtual SfxPopupWindow* CreatePopupWindow(); |
| }; |
| |
| |
| |
| //======================================================================== |
| // class SvxFrameToolBoxControl ------------------------------------------ |
| //======================================================================== |
| |
| |
| class SVX_DLLPUBLIC SvxFrameToolBoxControl : public SfxToolBoxControl |
| { |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxFrameToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); |
| |
| virtual SfxPopupWindowType GetPopupWindowType() const; |
| virtual SfxPopupWindow* CreatePopupWindow(); |
| virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| |
| }; |
| |
| |
| |
| //======================================================================== |
| // class SvxLineStyleToolBoxControl -------------------------------------- |
| //======================================================================== |
| |
| |
| class SVX_DLLPUBLIC SvxFrameLineStyleToolBoxControl : public SfxToolBoxControl |
| { |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxFrameLineStyleToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); |
| |
| virtual SfxPopupWindowType GetPopupWindowType() const; |
| virtual SfxPopupWindow* CreatePopupWindow(); |
| virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| }; |
| |
| |
| |
| //======================================================================== |
| // class SvxFrameLineColorToolBoxControl --------------------------------- |
| //======================================================================== |
| |
| |
| class SVX_DLLPUBLIC SvxFrameLineColorToolBoxControl : public SfxToolBoxControl |
| { |
| ::svx::ToolboxButtonColorUpdater* pBtnUpdater; |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxFrameLineColorToolBoxControl( sal_uInt16 nSlotId, |
| sal_uInt16 nId, |
| ToolBox& rTbx ); |
| ~SvxFrameLineColorToolBoxControl(); |
| |
| virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| virtual SfxPopupWindowType GetPopupWindowType() const; |
| virtual SfxPopupWindow* CreatePopupWindow(); |
| }; |
| |
| |
| |
| class SvxReloadControllerItem_Impl; |
| class SvxReloadControllerItem : public SfxToolBoxControl |
| { |
| private: |
| SvxReloadControllerItem_Impl* pImpl; |
| |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxReloadControllerItem( sal_uInt16 nSlotId, |
| sal_uInt16 nId, |
| ToolBox& rTbx ); |
| ~SvxReloadControllerItem(); |
| |
| protected: |
| virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| }; |
| |
| class SVX_DLLPUBLIC SvxSimpleUndoRedoController : public SfxToolBoxControl |
| { |
| private: |
| ::rtl::OUString aDefaultText; |
| |
| public: |
| SFX_DECL_TOOLBOX_CONTROL(); |
| SvxSimpleUndoRedoController( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); |
| ~SvxSimpleUndoRedoController(); |
| |
| virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, |
| const SfxPoolItem* pState ); |
| }; |
| |
| #endif // #ifndef _SVX_TBCONTRL_HXX |