Files
libreoffice/sw/source/ui/inc/column.hxx

212 lines
6.1 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2000-09-18 16:15:01 +00:00
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2000-09-18 16:15:01 +00:00
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
2000-09-18 16:15:01 +00:00
*
* OpenOffice.org - a multi-platform office productivity suite
2000-09-18 16:15:01 +00:00
*
* This file is part of OpenOffice.org.
2000-09-18 16:15:01 +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
*
* 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
*
* 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
#include <vcl/fixed.hxx>
#include <vcl/field.hxx>
#include <vcl/image.hxx>
#include <vcl/group.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/button.hxx>
#include <vcl/timer.hxx>
#include <vcl/button.hxx>
2000-09-18 16:15:01 +00:00
#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>
const int nMaxCols = 99;
2000-09-18 16:15:01 +00:00
class SwColMgr;
class SwWrtShell;
class SwColumnPage;
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;
sal_Bool bPageChanged : 1;
sal_Bool bSectionChanged : 1;
sal_Bool bSelSectionChanged : 1;
sal_Bool bFrameChanged : 1;
2000-09-18 16:15:01 +00:00
DECL_LINK(ObjectHdl, ListBox*);
DECL_LINK(OkHdl, OKButton*);
public:
SwColumnDlg(Window* pParent, SwWrtShell& rSh);
virtual ~SwColumnDlg();
SwWrtShell& GetWrtShell() { return rWrtShell; }
};
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
/*--------------------------------------------------------------------
Description: column dialog now as TabPage
2000-09-18 16:15:01 +00:00
--------------------------------------------------------------------*/
class SwColumnPage : public SfxTabPage
{
FixedLine aFLGroup;
2000-09-18 16:15:01 +00:00
FixedText aClNrLbl;
NumericField aCLNrEdt;
ColumnValueSet aDefaultVS;
ImageList aPreColsIL;
CheckBox aBalanceColsCB;
FixedLine aFLLayout;
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;
FixedLine aFLLineType;
2000-09-18 16:15:01 +00:00
FixedText aLineTypeLbl;
LineListBox aLineTypeDLB;
FixedText aLineWidthLbl;
MetricField aLineWidthEdit;
FixedText aLineColorLbl;
ColorListBox aLineColorDLB;
2000-09-18 16:15:01 +00:00
FixedText aLineHeightLbl;
MetricField aLineHeightEdit;
FixedText aLinePosLbl;
ListBox aLinePosDLB;
FixedText aTextDirectionFT;
ListBox aTextDirectionLB;
2000-09-18 16:15:01 +00:00
// Example
SwColExample aPgeExampleWN;
SwColumnOnlyExample aFrmExampleWN;
SwColMgr* pColMgr;
sal_uInt16 nFirstVis;
sal_uInt16 nCols;
2000-09-18 16:15:01 +00:00
long nColWidth[nMaxCols];
long nColDist[nMaxCols];
sal_uInt16 nMinWidth;
2000-09-18 16:15:01 +00:00
PercentField *pModifiedField;
sal_Bool bFormat;
sal_Bool bFrm;
sal_Bool bHtmlMode;
sal_Bool bLockUpdate;
2000-09-18 16:15:01 +00:00
// 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( sal_uInt16 nVis );
2000-09-18 16:15:01 +00:00
using SfxTabPage::ActivatePage;
using SfxTabPage::DeactivatePage;
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:
virtual ~SwColumnPage();
2000-09-18 16:15:01 +00:00
static SfxTabPage *Create(Window *pParent, const SfxItemSet &rSet);
static sal_uInt16* GetRanges();
2000-09-18 16:15:01 +00:00
virtual sal_Bool FillItemSet(SfxItemSet &rSet);
2000-09-18 16:15:01 +00:00
virtual void Reset(const SfxItemSet &rSet);
void SetFrmMode(sal_Bool bMod);
2000-09-18 16:15:01 +00:00
void SetPageWidth(long nPageWidth);
void SetFormatUsed(sal_Bool bFmt) { bFormat = bFmt; }
2000-09-18 16:15:01 +00:00
void ShowBalance(sal_Bool bShow) {aBalanceColsCB.Show(bShow);}
void SetInSection(sal_Bool bSet);
2000-09-18 16:15:01 +00:00
CWS-TOOLING: integrate CWS os132 2009-07-21 15:24:18 +0200 os r274201 : #i103696# SwXTextPortion/SwXParagraph excluded 2009-07-15 13:19:17 +0200 os r274007 : #i103564# typo 2009-07-15 13:09:30 +0200 os r274005 : #i103564# SwFrames::hasElements 2009-07-15 13:02:16 +0200 os r274003 : #i103564# SwXBookmark::getPropertySetInfo fixed 2009-06-26 10:11:00 +0200 os r273395 : CWS-TOOLING: rebase CWS os132 to trunk@272827 (milestone: DEV300:m50) 2009-06-23 08:52:24 +0200 os r273256 : #i102764# patch: attribute ListBoxes correctly handled in ::Reset() 2009-06-23 08:51:31 +0200 os r273255 : #i102764# ResetColor() added to remove background color 2009-06-22 14:57:38 +0200 os r273233 : #i102619# prevent access to already destroyed shell 2009-06-18 13:26:51 +0200 os r273112 : #i99508# ::insertTextContent: re-route to ::attach() 2009-06-18 10:59:53 +0200 os r273107 : #i85405# patch to enable 'Print grid' CheckBox correctly 2009-06-18 10:54:02 +0200 os r273106 : #i85133# dispose connection in GetColumnFmt to prevent connection locking 2009-06-18 10:24:31 +0200 os r273104 : #99535# ExportGraphic changed 2009-06-18 10:24:03 +0200 os r273103 : #99535# ExportGraphic changed 2009-06-18 10:23:11 +0200 os r273102 : #i102841# redlining mode switches to insert mode (cmc) 2009-06-17 14:05:42 +0200 os r273070 : #i102111# do not save already saved HTML documents before switching to source veiw 2009-06-17 13:18:20 +0200 os r273063 : #i101825# set rembered start position at the real start not at the initial start 2009-06-17 08:24:10 +0200 os r273048 : #99535# no dierect access to the file picker interface 2009-06-16 15:00:12 +0200 os r273020 : #i99937# notification of user options changes re-introduced 2009-06-15 14:36:03 +0200 os r272987 : #i98032# unreplaced text in protected areas must not be attributed either 2009-06-15 14:20:26 +0200 os r272985 : #i98032# replace list has to be initialised 2009-06-04 13:29:02 +0200 os r272624 : #i97810# set focus into column page 2009-06-04 11:01:14 +0200 os r272617 : #i98164# dialog resize to ease localisation 2009-06-04 10:59:44 +0200 os r272616 : #i98164# dialog resize to ease localisation 2009-05-28 16:05:03 +0200 os r272413 : #i98172# ConvertFieldsToText: take care of tabs with attributes 2009-05-28 11:12:45 +0200 os r272385 : #i59361# dialog controls resized 2009-05-28 11:03:14 +0200 os r272383 : #i59174# dialog controls moved
2009-08-06 12:44:16 +00:00
void ActivateColumnControl() {aCLNrEdt.GrabFocus();}
2000-09-18 16:15:01 +00:00
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */