2000-09-18 16:15:01 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-10 18:51:09 +00:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2010-02-12 15:01:35 +01:00
|
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 18:51:09 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 18:51:09 +00:00
|
|
|
* This file is part of OpenOffice.org.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 18:51:09 +00:00
|
|
|
* 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.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 18:51:09 +00:00
|
|
|
* 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).
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
2008-04-10 18:51:09 +00:00
|
|
|
* 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.
|
2000-09-18 16:15:01 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
#ifndef _COLUMN_HXX
|
|
|
|
#define _COLUMN_HXX
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _FIXED_HXX //autogen
|
|
|
|
#include <vcl/fixed.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _FIELD_HXX //autogen
|
|
|
|
#include <vcl/field.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _IMAGE_HXX //autogen
|
|
|
|
#include <vcl/image.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _GROUP_HXX //autogen
|
|
|
|
#include <vcl/group.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _LSTBOX_HXX //autogen
|
|
|
|
#include <vcl/lstbox.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _BUTTON_HXX //autogen
|
|
|
|
#include <vcl/button.hxx>
|
|
|
|
#endif
|
|
|
|
#include <vcl/timer.hxx>
|
|
|
|
#ifndef _IMAGEBTN_HXX //autogen
|
|
|
|
#include <vcl/imagebtn.hxx>
|
|
|
|
#endif
|
|
|
|
#include <svtools/ctrlbox.hxx>
|
|
|
|
#include <svtools/valueset.hxx>
|
|
|
|
#include <sfx2/basedlgs.hxx>
|
|
|
|
#include <sfx2/tabdlg.hxx>
|
|
|
|
#include <fmtclbl.hxx>
|
|
|
|
#include <colex.hxx>
|
|
|
|
#include <prcntfld.hxx>
|
|
|
|
|
2003-12-01 16:33:49 +00:00
|
|
|
const int nMaxCols = 99;
|
2000-09-18 16:15:01 +00:00
|
|
|
class SwColMgr;
|
|
|
|
class SwWrtShell;
|
|
|
|
class SwColumnPage;
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung:
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class SwColumnDlg : public SfxModalDialog
|
|
|
|
{
|
|
|
|
OKButton aOK;
|
|
|
|
CancelButton aCancel;
|
|
|
|
HelpButton aHelp;
|
|
|
|
|
|
|
|
FixedText aApplyToFT;
|
|
|
|
ListBox aApplyToLB;
|
|
|
|
|
|
|
|
SwWrtShell& rWrtShell;
|
|
|
|
SwColumnPage* pTabPage;
|
|
|
|
SfxItemSet* pPageSet;
|
|
|
|
SfxItemSet* pSectionSet;
|
|
|
|
SfxItemSet* pSelectionSet;
|
|
|
|
SfxItemSet* pFrameSet;
|
|
|
|
|
|
|
|
long nOldSelection;
|
|
|
|
long nSelectionWidth;
|
|
|
|
long nPageWidth;
|
|
|
|
|
|
|
|
BOOL bPageChanged : 1;
|
|
|
|
BOOL bSectionChanged : 1;
|
|
|
|
BOOL bSelSectionChanged : 1;
|
|
|
|
BOOL bFrameChanged : 1;
|
|
|
|
|
|
|
|
|
|
|
|
DECL_LINK(ObjectHdl, ListBox*);
|
|
|
|
DECL_LINK(OkHdl, OKButton*);
|
|
|
|
|
|
|
|
public:
|
|
|
|
SwColumnDlg(Window* pParent, SwWrtShell& rSh);
|
|
|
|
virtual ~SwColumnDlg();
|
|
|
|
|
|
|
|
SwWrtShell& GetWrtShell() { return rWrtShell; }
|
|
|
|
};
|
|
|
|
|
|
|
|
/*-----------------07.03.97 08.26-------------------
|
|
|
|
|
|
|
|
--------------------------------------------------*/
|
|
|
|
class ColumnValueSet : public ValueSet
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
ColumnValueSet(Window* pParent, const ResId& rResId) :
|
|
|
|
ValueSet(pParent, rResId){}
|
|
|
|
~ColumnValueSet();
|
|
|
|
|
|
|
|
virtual void UserDraw( const UserDrawEvent& rUDEvt );
|
2002-04-02 14:19:20 +00:00
|
|
|
virtual void DataChanged( const DataChangedEvent& rDCEvt );
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
2001-05-29 12:46:19 +00:00
|
|
|
|
2000-09-18 16:15:01 +00:00
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
Beschreibung: Spaltendialog jetzt als TabPage
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
class SwColumnPage : public SfxTabPage
|
|
|
|
{
|
|
|
|
FixedText aClNrLbl;
|
|
|
|
NumericField aCLNrEdt;
|
|
|
|
ColumnValueSet aDefaultVS;
|
|
|
|
ImageList aPreColsIL;
|
|
|
|
CheckBox aBalanceColsCB;
|
2001-03-23 15:17:47 +00:00
|
|
|
FixedLine aFLGroup;
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
ImageButton aBtnUp;
|
2001-05-29 12:46:19 +00:00
|
|
|
FixedText aColumnFT;
|
2000-09-18 16:15:01 +00:00
|
|
|
FixedText aWidthFT;
|
|
|
|
FixedText aDistFT;
|
|
|
|
FixedText aLbl1;
|
|
|
|
PercentField aEd1;
|
|
|
|
PercentField aDistEd1;
|
|
|
|
FixedText aLbl2;
|
|
|
|
PercentField aEd2;
|
|
|
|
PercentField aDistEd2;
|
|
|
|
FixedText aLbl3;
|
|
|
|
PercentField aEd3;
|
|
|
|
ImageButton aBtnDown;
|
|
|
|
CheckBox aAutoWidthBox;
|
|
|
|
|
2001-03-23 15:17:47 +00:00
|
|
|
FixedLine aFLLayout;
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
FixedText aLineTypeLbl;
|
|
|
|
LineListBox aLineTypeDLB;
|
|
|
|
FixedText aLineHeightLbl;
|
|
|
|
MetricField aLineHeightEdit;
|
|
|
|
FixedText aLinePosLbl;
|
|
|
|
ListBox aLinePosDLB;
|
2001-03-23 15:17:47 +00:00
|
|
|
FixedLine aFLLineType;
|
2000-09-18 16:15:01 +00:00
|
|
|
|
2002-06-19 13:04:16 +00:00
|
|
|
FixedLine aVertFL;
|
|
|
|
FixedLine aPropertiesFL;
|
|
|
|
FixedText aTextDirectionFT;
|
|
|
|
ListBox aTextDirectionLB;
|
|
|
|
|
2000-09-18 16:15:01 +00:00
|
|
|
// Example
|
|
|
|
SwColExample aPgeExampleWN;
|
|
|
|
SwColumnOnlyExample aFrmExampleWN;
|
|
|
|
|
|
|
|
SwColMgr* pColMgr;
|
|
|
|
|
|
|
|
USHORT nFirstVis;
|
|
|
|
USHORT nCols;
|
|
|
|
long nColWidth[nMaxCols];
|
|
|
|
long nColDist[nMaxCols];
|
|
|
|
USHORT nMinWidth;
|
|
|
|
PercentField *pModifiedField;
|
|
|
|
BOOL bFormat;
|
|
|
|
BOOL bFrm;
|
|
|
|
BOOL bHtmlMode;
|
|
|
|
BOOL bLockUpdate;
|
|
|
|
|
|
|
|
// Handler
|
|
|
|
DECL_LINK( ColModify, NumericField * );
|
|
|
|
DECL_LINK( GapModify, PercentField * );
|
|
|
|
DECL_LINK( EdModify, PercentField * );
|
|
|
|
DECL_LINK( AutoWidthHdl, CheckBox * );
|
|
|
|
DECL_LINK( Timeout, Timer * );
|
|
|
|
DECL_LINK( SetDefaultsHdl, ValueSet * );
|
|
|
|
|
|
|
|
DECL_LINK( Up, Button * );
|
|
|
|
DECL_LINK( Down, Button * );
|
|
|
|
void Apply(Button *);
|
|
|
|
DECL_LINK( UpdateColMgr, void* );
|
|
|
|
|
|
|
|
void Update();
|
|
|
|
void UpdateCols();
|
|
|
|
void Init();
|
|
|
|
void ResetColWidth();
|
|
|
|
void SetLabels( USHORT nVis );
|
|
|
|
|
2008-05-06 14:22:48 +00:00
|
|
|
using SfxTabPage::ActivatePage;
|
|
|
|
using SfxTabPage::DeactivatePage;
|
2007-10-22 14:20:57 +00:00
|
|
|
|
2000-09-18 16:15:01 +00:00
|
|
|
virtual void ActivatePage(const SfxItemSet& rSet);
|
|
|
|
virtual int DeactivatePage(SfxItemSet *pSet);
|
|
|
|
|
|
|
|
SwColumnPage(Window *pParent, const SfxItemSet &rSet);
|
|
|
|
|
|
|
|
public:
|
2007-09-27 10:55:38 +00:00
|
|
|
virtual ~SwColumnPage();
|
2000-09-18 16:15:01 +00:00
|
|
|
|
|
|
|
static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet);
|
|
|
|
static USHORT* GetRanges();
|
|
|
|
|
|
|
|
virtual BOOL FillItemSet(SfxItemSet &rSet);
|
|
|
|
virtual void Reset(const SfxItemSet &rSet);
|
|
|
|
|
|
|
|
void SetFrmMode(BOOL bMod);
|
|
|
|
void SetPageWidth(long nPageWidth);
|
|
|
|
|
|
|
|
void SetFormatUsed(BOOL bFmt) { bFormat = bFmt; }
|
|
|
|
|
|
|
|
void ShowBalance(BOOL bShow) {aBalanceColsCB.Show(bShow);}
|
2002-06-19 13:04:16 +00:00
|
|
|
void SetInSection(BOOL bSet);
|
2000-09-18 16:15:01 +00:00
|
|
|
|
2009-08-06 12:44:16 +00:00
|
|
|
void ActivateColumnControl() {aCLNrEdt.GrabFocus();}
|
2000-09-18 16:15:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|