1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_SVX_LINECTRL_HXX
20 #define INCLUDED_SVX_LINECTRL_HXX
23 #include <svtools/valueset.hxx>
24 #include <svl/lstner.hxx>
25 #include <sfx2/tbxctrl.hxx>
26 #include <svx/svxdllapi.h>
27 #include <svx/xtable.hxx>
35 // SvxLineStyleController:
38 class SVX_DLLPUBLIC SvxLineStyleToolBoxControl
: public SfxToolBoxControl
41 XLineStyleItem
* pStyleItem
;
42 XLineDashItem
* pDashItem
;
47 SFX_DECL_TOOLBOX_CONTROL();
49 SvxLineStyleToolBoxControl( sal_uInt16 nSlotId
, sal_uInt16 nId
, ToolBox
& rTbx
);
50 virtual ~SvxLineStyleToolBoxControl();
52 virtual void StateChanged( sal_uInt16 nSID
, SfxItemState eState
,
53 const SfxPoolItem
* pState
) SAL_OVERRIDE
;
54 void Update( const SfxPoolItem
* pState
);
55 virtual VclPtr
<vcl::Window
> CreateItemWindow( vcl::Window
*pParent
) SAL_OVERRIDE
;
59 // SvxLineWidthController:
62 class SVX_DLLPUBLIC SvxLineWidthToolBoxControl
: public SfxToolBoxControl
65 SFX_DECL_TOOLBOX_CONTROL();
67 SvxLineWidthToolBoxControl( sal_uInt16 nSlotId
, sal_uInt16 nId
, ToolBox
& rTbx
);
68 virtual ~SvxLineWidthToolBoxControl();
70 virtual void StateChanged( sal_uInt16 nSID
, SfxItemState eState
,
71 const SfxPoolItem
* pState
) SAL_OVERRIDE
;
72 virtual VclPtr
<vcl::Window
> CreateItemWindow( vcl::Window
*pParent
) SAL_OVERRIDE
;
77 // class SvxLineEndWindow
79 class SvxLineEndWindow
: public SfxPopupWindow
81 using FloatingWindow::StateChanged
;
84 XLineEndListRef pLineEndList
;
85 VclPtr
<ValueSet
> aLineEndSet
;
88 sal_uIntPtr nLineEndWidth
;
92 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
> mxFrame
;
95 DECL_LINK( SelectHdl
, void * );
101 virtual void Resizing( Size
& rSize
) SAL_OVERRIDE
;
102 virtual void Resize() SAL_OVERRIDE
;
103 virtual bool Close() SAL_OVERRIDE
;
104 virtual void PopupModeEnd() SAL_OVERRIDE
;
106 /** This function is called when the window gets the focus. It grabs
107 the focus to the line ends value set so that it can be controlled with
110 virtual void GetFocus() SAL_OVERRIDE
;
113 SvxLineEndWindow( sal_uInt16 nId
,
114 const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
>& rFrame
,
115 const OUString
& rWndTitle
);
116 SvxLineEndWindow( sal_uInt16 nId
,
117 const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
>& rFrame
,
118 vcl::Window
* pParentWindow
,
119 const OUString
& rWndTitle
);
120 virtual ~SvxLineEndWindow();
121 virtual void dispose() SAL_OVERRIDE
;
123 void StartSelection();
125 virtual void StateChanged( sal_uInt16 nSID
, SfxItemState eState
,
126 const SfxPoolItem
* pState
) SAL_OVERRIDE
;
127 virtual VclPtr
<SfxPopupWindow
> Clone() const SAL_OVERRIDE
;
131 // class SvxLineEndToolBoxControl
134 class SVX_DLLPUBLIC SvxLineEndToolBoxControl
: public SfxToolBoxControl
137 SFX_DECL_TOOLBOX_CONTROL();
138 SvxLineEndToolBoxControl( sal_uInt16 nSlotId
, sal_uInt16 nId
, ToolBox
& rTbx
);
139 virtual ~SvxLineEndToolBoxControl();
141 virtual void StateChanged( sal_uInt16 nSID
, SfxItemState eState
,
142 const SfxPoolItem
* pState
) SAL_OVERRIDE
;
143 virtual SfxPopupWindowType
GetPopupWindowType() const SAL_OVERRIDE
;
144 virtual VclPtr
<SfxPopupWindow
> CreatePopupWindow() SAL_OVERRIDE
;
151 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */