Kaydet (Commit) 745751e3 authored tarafından Samuel Mehrbrodt's avatar Samuel Mehrbrodt

Vcl Toolbox: Move Impl and local defines out of header files

This reverts part of 1e82a3e6

Change-Id: I683a855727c4a52d3ac6a7c5a1f104a6cf5b9ee2
üst 60795a7f
......@@ -50,44 +50,6 @@ class PopupMenu;
#define TOOLBOX_MENUTYPE_CLIPPEDITEMS ((sal_uInt16)0x0001) // menu will contain "more" indicator
#define TOOLBOX_MENUTYPE_CUSTOMIZE ((sal_uInt16)0x0002) // menu will contain "customization" and "more" indicator
#define SMALLBUTTON_HSIZE 7
#define SMALLBUTTON_VSIZE 7
#define SMALLBUTTON_OFF_NORMAL_X 3
#define SMALLBUTTON_OFF_NORMAL_Y 3
#define TB_TEXTOFFSET 2
#define TB_IMAGETEXTOFFSET 3
#define TB_LINESPACING 3
#define TB_SPIN_SIZE 14
#define TB_SPIN_OFFSET 2
#define TB_BORDER_OFFSET1 4
#define TB_BORDER_OFFSET2 2
#define TB_CUSTOMIZE_OFFSET 2
#define TB_RESIZE_OFFSET 3
#define TB_MAXLINES 5
#define TB_MAXNOSCROLL 32765
#define TB_MIN_WIN_WIDTH 20
#define TB_DRAGWIDTH 8 // the default width of the drag grip
#define TB_SEP_SIZE 8 // Separator size
#define TB_CALCMODE_HORZ 1
#define TB_CALCMODE_VERT 2
#define TB_CALCMODE_FLOAT 3
#define TB_WBLINESIZING (WB_SIZEABLE | WB_DOCKABLE | WB_SCROLL)
#define DOCK_LINEHSIZE ((sal_uInt16)0x0001)
#define DOCK_LINEVSIZE ((sal_uInt16)0x0002)
#define DOCK_LINERIGHT ((sal_uInt16)0x1000)
#define DOCK_LINEBOTTOM ((sal_uInt16)0x2000)
#define DOCK_LINELEFT ((sal_uInt16)0x4000)
#define DOCK_LINETOP ((sal_uInt16)0x8000)
#define DOCK_LINEOFFSET 3
typedef ::std::vector< VclPtr<ToolBox> > ImplTBList;
// small or large force an exact toolbox size for proper alignemnt
// dontcare will let the toolbox decide about its size
enum ToolBoxButtonSize { TOOLBOX_BUTTONSIZE_DONTCARE, TOOLBOX_BUTTONSIZE_SMALL, TOOLBOX_BUTTONSIZE_LARGE };
......@@ -105,54 +67,6 @@ struct ImplToolSize
sal_uInt16 mnLines;
};
class ImplTBDragMgr
{
private:
ImplTBList* mpBoxList;
VclPtr<ToolBox> mpDragBox;
Point maMouseOff;
Rectangle maRect;
Rectangle maStartRect;
Accelerator maAccel;
long mnMinWidth;
long mnMaxWidth;
sal_uInt16 mnLineMode;
sal_uInt16 mnStartLines;
void* mpCustomizeData;
bool mbResizeMode;
bool mbShowDragRect;
public:
ImplTBDragMgr();
~ImplTBDragMgr();
void push_back( ToolBox* pBox )
{ mpBoxList->push_back( pBox ); }
void erase( ToolBox* pBox )
{
for ( ImplTBList::iterator it = mpBoxList->begin(); it != mpBoxList->end(); ++it ) {
if ( *it == pBox ) {
mpBoxList->erase( it );
break;
}
}
}
size_t size() const
{ return mpBoxList->size(); }
ToolBox* FindToolBox( const Rectangle& rRect );
void StartDragging( ToolBox* pDragBox, const Point& rPos, const Rectangle& rRect, sal_uInt16 nLineMode,
bool bResizeItem, void* pData = nullptr );
void Dragging( const Point& rPos );
void EndDragging( bool bOK = true );
void HideDragRect();
void UpdateDragRect();
DECL_LINK_TYPED( SelectHdl, Accelerator&, void );
};
class VCL_DLLPUBLIC ToolBox : public DockingWindow
{
friend class FloatingWindow;
......
......@@ -48,11 +48,91 @@
#include <vector>
#include <math.h>
void ImplTBDragMgr::HideDragRect()
#define SMALLBUTTON_HSIZE 7
#define SMALLBUTTON_VSIZE 7
#define SMALLBUTTON_OFF_NORMAL_X 3
#define SMALLBUTTON_OFF_NORMAL_Y 3
#define TB_TEXTOFFSET 2
#define TB_IMAGETEXTOFFSET 3
#define TB_LINESPACING 3
#define TB_SPIN_SIZE 14
#define TB_SPIN_OFFSET 2
#define TB_BORDER_OFFSET1 4
#define TB_BORDER_OFFSET2 2
#define TB_CUSTOMIZE_OFFSET 2
#define TB_RESIZE_OFFSET 3
#define TB_MAXLINES 5
#define TB_MAXNOSCROLL 32765
#define TB_MIN_WIN_WIDTH 20
#define TB_DRAGWIDTH 8 // the default width of the drag grip
#define TB_CALCMODE_HORZ 1
#define TB_CALCMODE_VERT 2
#define TB_CALCMODE_FLOAT 3
#define TB_WBLINESIZING (WB_SIZEABLE | WB_DOCKABLE | WB_SCROLL)
#define DOCK_LINEHSIZE ((sal_uInt16)0x0001)
#define DOCK_LINEVSIZE ((sal_uInt16)0x0002)
#define DOCK_LINERIGHT ((sal_uInt16)0x1000)
#define DOCK_LINEBOTTOM ((sal_uInt16)0x2000)
#define DOCK_LINELEFT ((sal_uInt16)0x4000)
#define DOCK_LINETOP ((sal_uInt16)0x8000)
#define DOCK_LINEOFFSET 3
typedef ::std::vector< VclPtr<ToolBox> > ImplTBList;
class ImplTBDragMgr
{
if ( mbShowDragRect )
mpDragBox->HideTracking();
}
private:
ImplTBList* mpBoxList;
VclPtr<ToolBox> mpDragBox;
Point maMouseOff;
Rectangle maRect;
Rectangle maStartRect;
Accelerator maAccel;
long mnMinWidth;
long mnMaxWidth;
sal_uInt16 mnLineMode;
sal_uInt16 mnStartLines;
void* mpCustomizeData;
bool mbResizeMode;
bool mbShowDragRect;
public:
ImplTBDragMgr();
~ImplTBDragMgr();
void push_back( ToolBox* pBox )
{ mpBoxList->push_back( pBox ); }
void erase( ToolBox* pBox )
{
for ( ImplTBList::iterator it = mpBoxList->begin(); it != mpBoxList->end(); ++it ) {
if ( *it == pBox ) {
mpBoxList->erase( it );
break;
}
}
}
size_t size() const
{ return mpBoxList->size(); }
ToolBox* FindToolBox( const Rectangle& rRect );
void StartDragging( ToolBox* pDragBox, const Point& rPos, const Rectangle& rRect, sal_uInt16 nLineMode,
bool bResizeItem, void* pData = nullptr );
void Dragging( const Point& rPos );
void EndDragging( bool bOK = true );
void HideDragRect() { if ( mbShowDragRect ) mpDragBox->HideTracking(); }
void UpdateDragRect();
DECL_LINK_TYPED( SelectHdl, Accelerator&, void );
};
static ImplTBDragMgr* ImplGetTBDragMgr()
{
......
......@@ -43,6 +43,9 @@
using namespace vcl;
using namespace com::sun::star;
#define TB_SEP_SIZE 8 // Separator size
ImplToolBoxPrivateData::ImplToolBoxPrivateData() :
m_pLayoutData( nullptr )
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment