diff options
Diffstat (limited to 'sc/source/ui/inc')
178 files changed, 28478 insertions, 0 deletions
diff --git a/sc/source/ui/inc/acredlin.hrc b/sc/source/ui/inc/acredlin.hrc new file mode 100644 index 000000000000..fada2c74da46 --- /dev/null +++ b/sc/source/ui/inc/acredlin.hrc @@ -0,0 +1,109 @@ +/************************************************************************* + * + * $RCSfile: acredlin.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // -> RID_SCDLG_CHANGES + +#define BTN_OK 1 +#define BTN_CANCEL 2 +#define BTN_HELP 5 +// +#define CTR_REDLINING 10 +#define TP_FILTER 11 +#define TP_VIEW 12 + + +#define FT_ASSIGN 14 +#define ED_ASSIGN 15 +#define RB_ASSIGN 16 + + +#define STR_INSERT_COLS 20 +#define STR_INSERT_ROWS 21 +#define STR_INSERT_TABS 22 +#define STR_DELETE_COLS 23 +#define STR_DELETE_ROWS 24 +#define STR_DELETE_TABS 25 +#define STR_MOVE 26 +#define STR_CONTENT 27 +#define STR_REJECT 28 +#define STR_ACCEPTED 29 +#define STR_REJECTED 30 +#define STR_NO_ENTRY 31 +#define STR_CONTENT_WITH_CHILD 32 +#define STR_CHILD_CONTENT 33 +#define STR_CHILD_ORGCONTENT 34 +#define STR_EMPTY 35 +// Bitmaps +#define BMP_STR_CLOSE 41 +#define BMP_STR_OPEN 42 +#define BMP_STR_END 43 +#define BMP_STR_ERROR 44 + +#define SC_CHANGES_COMMENT 49 +#define SC_SUB_SORT 50 +#define SC_SORT_ACTION 51 +#define SC_SORT_POSITION 52 +#define SC_SORT_AUTHOR 53 +#define SC_SORT_DATE 54 +#define SC_SORT_COMMENT 55 + +// + diff --git a/sc/source/ui/inc/acredlin.hxx b/sc/source/ui/inc/acredlin.hxx new file mode 100644 index 000000000000..a8924ea91c77 --- /dev/null +++ b/sc/source/ui/inc/acredlin.hxx @@ -0,0 +1,334 @@ +/************************************************************************* + * + * $RCSfile: acredlin.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_ACREDLIN_HXX +#define SC_ACREDLIN_HXX + +#ifndef VCL +#endif + +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _HEADBAR_HXX //autogen +#include <svtools/headbar.hxx> +#endif + +#ifndef _SVTABBX_HXX //autogen +#include <svtools/svtabbx.hxx> +#endif + + +#ifndef SC_RANGENAM_HXX +#include "rangenam.hxx" +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SVX_ACREDLIN_HXX +#include <svx/ctredlin.hxx> +#endif + +#ifndef _SVX_SIMPTABL_HXX +#include <svx/simptabl.hxx> +#endif + +#ifndef _SVARRAY_HXX +#define _SVARRAY_HXX +#include <svtools/svarray.hxx> +#endif + +#ifndef SC_CHGTRACK_HXX +#include "chgtrack.hxx" +#endif + +#ifndef SC_CHGVISET_HXX +#include "chgviset.hxx" +#endif + +#ifndef _SV_TIMER_HXX //autogen +#include <vcl/timer.hxx> +#endif + +class ScViewData; +class ScDocument; + +#define FLT_DATE_BEFORE 0 +#define FLT_DATE_SINCE 1 +#define FLT_DATE_EQUAL 2 +#define FLT_DATE_NOTEQUAL 3 +#define FLT_DATE_BETWEEN 4 +#define FLT_DATE_SAVE 5 + + +class ScViewEntryPtr +{ +private: + String* pAction; + String* pPos; + String* pAuthor; + String* pDate; + String* pComment; + void* pData; + +public: + + String* GetpAction() {return pAction; } + String* GetpPos() {return pPos; } + String* GetpAuthor() {return pAuthor; } + String* GetpDate() {return pDate; } + String* GetpComment() {return pComment;} + void* GetpData() {return pData; } + + void SetpAction (String* pString) {pAction= pString;} + void SetpPos (String* pString) {pPos = pString;} + void SetpAuthor (String* pString) {pAuthor= pString;} + void SetpDate (String* pString) {pDate = pString;} + void SetpComment(String* pString) {pComment=pString;} + void SetpData (void* pdata) {pData =pdata;} +}; + +class ScViewEntryPtrList +{ + ScViewEntryPtrList* pNext; + ScViewEntryPtrList* pLast; + + ScViewEntryPtr* pData; +}; + + +class ScRedlinData : public RedlinData +{ +public: + + ScRedlinData(); + ~ScRedlinData(); + USHORT nTable; + USHORT nCol; + USHORT nRow; + ULONG nActionNo; + ULONG nInfo; + BOOL bIsRejectable; + BOOL bIsAcceptable; +}; + +typedef long LExpNum; + +//@ Expand-Entrys nicht eindeutig, daher gestrichen +//DECLARE_TABLE( ScChgTrackExps, LExpNum) +//================================================================== + +class ScAcceptChgDlg : public SfxModelessDialog +{ +private: + + Timer aSelectionTimer; + Timer aReOpenTimer; + SvxAcceptChgCtr aAcceptChgCtr; + ScViewData* pViewData; + ScDocument* pDoc; + ScRangeName aLocalRangeName; + Selection theCurSel; + SvxTPFilter* pTPFilter; + SvxTPView* pTPView; + SvxRedlinTable* pTheView; + Size MinSize; + ScRangeList aRangeList; + ScChangeViewSettings aChangeViewSet; + International aInter; + String aStrInsertCols; + String aStrInsertRows; + String aStrInsertTabs; + String aStrDeleteCols; + String aStrDeleteRows; + String aStrDeleteTabs; + String aStrMove; + String aStrContent; + String aStrReject; + String aUnknown; + String aStrAllAccepted; + String aStrAllRejected; + String aStrNoEntry; + String aStrContentWithChild; + String aStrChildContent; + String aStrChildOrgContent; + String aStrEmpty; + Bitmap aExpBmp; + Bitmap aCollBmp; + Bitmap aCloseBmp; + Bitmap aOpenBmp; + Bitmap aEndBmp; + Bitmap aErrorBmp; + ULONG nAcceptCount; + ULONG nRejectCount; + BOOL bAcceptEnableFlag; + BOOL bRejectEnableFlag; + BOOL bNeedsUpdate; + BOOL bIgnoreMsg; + BOOL bNoSelection; + BOOL bHasFilterEntry; + BOOL bUseColor; + //ScChgTrackExps aExpandArray; + + void Init(); + void InitFilter(); + void SetMyStaticData(); + + DECL_LINK( FilterHandle, SvxTPFilter* ); + DECL_LINK( RefHandle, SvxTPFilter* ); + DECL_LINK( FilterModified, SvxTPFilter* ); + DECL_LINK( MinSizeHandle, SvxAcceptChgCtr*); + DECL_LINK( RejectHandle, SvxTPView*); + DECL_LINK( AcceptHandle, SvxTPView*); + DECL_LINK( RejectAllHandle, SvxTPView*); + DECL_LINK( AcceptAllHandle, SvxTPView*); + DECL_LINK( ExpandingHandle, SvxRedlinTable*); + DECL_LINK( SelectHandle, SvxRedlinTable*); + DECL_LINK( RefInfoHandle, String*); + + DECL_LINK( UpdateSelectionHdl, Timer*); + DECL_LINK( ChgTrackModHdl, ScChangeTrack*); + DECL_LINK( CommandHdl, Control*); + DECL_LINK( ReOpenTimerHdl, Timer*); + DECL_LINK( ColCompareHdl, SvSortData*); + + + +protected: + + virtual void Resize(); + virtual BOOL Close(); + + void RejectFiltered(); + void AcceptFiltered(); + + BOOL IsValidAction(const ScChangeAction* pScChangeAction); + + String* MakeTypeString(ScChangeActionType eType); + + SvLBoxEntry* InsertChangeAction(const ScChangeAction* pScChangeAction,ScChangeActionState eState, + SvLBoxEntry* pParent=NULL,BOOL bDelMaster=FALSE, + BOOL bDisabled=FALSE,ULONG nPos=LIST_APPEND); + + SvLBoxEntry* InsertFilteredAction(const ScChangeAction* pScChangeAction,ScChangeActionState eState, + SvLBoxEntry* pParent=NULL,BOOL bDelMaster=FALSE, + BOOL bDisabled=FALSE,ULONG nPos=LIST_APPEND); + + + SvLBoxEntry* InsertChangeActionContent(const ScChangeActionContent* pScChangeAction, + SvLBoxEntry* pParent,ULONG nSpecial); + + void GetDependents( const ScChangeAction* pScChangeAction, + ScChangeActionTable& aActionTable, + SvLBoxEntry* pEntry); + + BOOL InsertContentChilds(ScChangeActionTable* pActionTable,SvLBoxEntry* pParent); + + BOOL InsertAcceptedORejected(SvLBoxEntry* pParent); + + BOOL InsertDeletedChilds(const ScChangeAction *pChangeAction, ScChangeActionTable* pActionTable, + SvLBoxEntry* pParent); + + BOOL InsertChilds(ScChangeActionTable* pActionTable,SvLBoxEntry* pParent); + + void AppendChanges(ScChangeTrack* pChanges,ULONG nStartAction, ULONG nEndAction, + ULONG nPos=LIST_APPEND); + + void RemoveEntrys(ULONG nStartAction,ULONG nEndAction); + void UpdateEntrys(ScChangeTrack* pChgTrack, ULONG nStartAction,ULONG nEndAction); + + void UpdateView(); + void ClearView(); + + BOOL Expand(ScChangeTrack* pChanges,const ScChangeAction* pScChangeAction, + SvLBoxEntry* pEntry, BOOL bFilter=FALSE); + +public: + ScAcceptChgDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + ScViewData* ptrViewData); + + ~ScAcceptChgDlg(); + + void ReInit(ScViewData* ptrViewData); + + virtual long PreNotify( NotifyEvent& rNEvt ); + + void Initialize (SfxChildWinInfo* pInfo); + virtual void FillInfo(SfxChildWinInfo&) const; + +}; + + +#endif // SC_NAMEDLG_HXX + diff --git a/sc/source/ui/inc/anyrefdg.hxx b/sc/source/ui/inc/anyrefdg.hxx new file mode 100644 index 000000000000..97b5ccd552fc --- /dev/null +++ b/sc/source/ui/inc/anyrefdg.hxx @@ -0,0 +1,207 @@ +/************************************************************************* + * + * $RCSfile: anyrefdg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_ANYREFDG_HXX +#define SC_ANYREFDG_HXX + +#ifndef _IMAGEBTN_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#ifndef _ACCEL_HXX //autogen +#include <vcl/accel.hxx> +#endif +#ifndef _BASEDLGS_HXX //autogen +#include <sfx2/basedlgs.hxx> +#endif + +class SfxObjectShell; +class ScRange; +class ScDocument; +class ScTabViewShell; +class ScAnyRefDlg; +class ScFormulaCell; +class ScCompiler; + +//============================================================================ + +class ScRefEdit : public Edit +{ +private: + + Timer aTimer; + ScAnyRefDlg* pAnyRefDlg; // Dialog + + DECL_LINK( UpdateHdl, Timer*); + +public: + ScRefEdit( ScAnyRefDlg* pParent, const ResId& rResId); + ScRefEdit( Window *pParent, const ResId& rResId); + ~ScRefEdit(); + + void SetRefString( const XubString& rStr ); + virtual void SetText( const XubString& rStr ); + + virtual void GetFocus(); + virtual void LoseFocus(); + virtual void Modify(); + void StartUpdateData(); + + void SetRefDialog(ScAnyRefDlg *pDlg); + ScAnyRefDlg* GetRefDialog() {return pAnyRefDlg;} + +}; + +class ScRefButton : public ImageButton +{ +public: + ScRefButton( ScAnyRefDlg* pParent, const ResId& rResId, ScRefEdit* pEdit ); + ScRefButton( Window *pParent, const ResId& rResId); + + void SetReferences( ScAnyRefDlg* pRefDlg,ScRefEdit* pEdit ); + + void SetStartImage(); + void SetEndImage(); + void DoRef() { Click(); } + virtual void GetFocus(); + virtual void LoseFocus(); + + +protected: + virtual void Click(); + +private: + Image aImgRefStart; // Symbol fuer Ref.-Eingabe starten + Image aImgRefDone; // Symbol fuer Ref.-Eingabe beenden + ScAnyRefDlg* pDlg; // Dialog + ScRefEdit* pRefEdit; // zugeordnetes Edit-Control +}; + + +//============================================================================ +class ScAnyRefDlg : public SfxModelessDialog +{ +friend ScRefButton; + +private: + Edit* pRefEdit; // aktives Eingabefeld + ScRefButton* pRefBtn; // Button dazu + String sOldDialogText; // Originaltitel des Dialogfensters + Size aOldDialogSize; // Originalgroesse Dialogfenster + Point aOldEditPos; // Originalposition des Eingabefeldes + Size aOldEditSize; // Originalgroesse des Eingabefeldes + Point aOldButtonPos; // Originalpositiuon des Buttons + BOOL* pHiddenMarks; // Merkfeld fuer versteckte Controls + Accelerator* pAccel; // fuer Enter/Escape + BOOL bAccInserted; + BOOL bHighLightRef; + BOOL bEnableColorRef; + ScFormulaCell* pRefCell; + ScCompiler* pRefComp; + Window* pActiveWin; + Timer aTimer; + String aDocName; // document on which the dialog was opened + + DECL_LINK( UpdateFocusHdl, Timer*); + DECL_LINK( AccelSelectHdl, Accelerator * ); + +protected: + BOOL DoClose( USHORT nId ); + + void EnableSpreadsheets(BOOL bFlag=TRUE, BOOL bChilds=TRUE); + + virtual long PreNotify( NotifyEvent& rNEvt ); + + virtual void RefInputStart( ScRefEdit* pEdit, ScRefButton* pButton = NULL ); + virtual void RefInputDone( BOOL bForced = FALSE ); + void ShowSimpleReference( const XubString& rStr ); + void ShowFormulaReference( const XubString& rStr ); + + +public: + ScAnyRefDlg( SfxBindings* pB, SfxChildWindow* pCW, + Window* pParent, USHORT nResId); + virtual ~ScAnyRefDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) = 0; + virtual void AddRefEntry(); + + virtual BOOL IsRefInputMode() const; + virtual BOOL IsTableLocked() const; + virtual BOOL IsDocAllowed(SfxObjectShell* pDocSh) const; + + void ShowReference( const XubString& rStr ); + void HideReference(); + + void ViewShellChanged(ScTabViewShell* pScViewShell); + void SwitchToDocument(); + + virtual void SetActive() = 0; +// virtual BOOL Close(); + virtual void StateChanged( StateChangedType nStateChange ); +}; + + + +#endif // SC_ANYREFDG_HXX + diff --git a/sc/source/ui/inc/areasdlg.hxx b/sc/source/ui/inc/areasdlg.hxx new file mode 100644 index 000000000000..0d9d297d1607 --- /dev/null +++ b/sc/source/ui/inc/areasdlg.hxx @@ -0,0 +1,143 @@ +/************************************************************************* + * + * $RCSfile: areasdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_AREASDLG_HXX +#define SC_AREASDLG_HXX + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef SC_ANYREFDG_HXX +#include <anyrefdg.hxx> +#endif + +class ScDocument; +class ScViewData; +class ScRangeUtil; +class ScRangeItem; + + +//============================================================================ + +class ScPrintAreasDlg : public ScAnyRefDlg +{ +public: + ScPrintAreasDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent ); + ~ScPrintAreasDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + virtual void AddRefEntry(); + + virtual BOOL IsTableLocked() const; + + virtual void SetActive(); + virtual void Deactivate(); + virtual BOOL Close(); + +private: + ListBox aLbPrintArea; + GroupBox aGbPrintArea; + ScRefEdit aEdPrintArea; + ScRefButton aRbPrintArea; + + ListBox aLbRepeatRow; + GroupBox aGbRepeatRow; + ScRefEdit aEdRepeatRow; + ScRefButton aRbRepeatRow; + + ListBox aLbRepeatCol; + GroupBox aGbRepeatCol; + ScRefEdit aEdRepeatCol; + ScRefButton aRbRepeatCol; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + BOOL bDlgLostFocus; + ScRefEdit* pRefInputEdit; + ScDocument* pDoc; + ScViewData* pViewData; + USHORT nCurTab; + +#ifdef _AREASDLG_CXX +private: + void Impl_Reset(); + BOOL Impl_CheckRefStrings(); + void Impl_FillLists(); + BOOL Impl_GetItem( Edit* pEd, SfxStringItem& rItem ); + + // Handler: + DECL_LINK( Impl_SelectHdl, ListBox* ); + DECL_LINK( Impl_ModifyHdl, ScRefEdit* ); + DECL_LINK( Impl_BtnHdl, PushButton* ); + DECL_LINK( Impl_GetFocusHdl, Control* ); +#endif +}; + + + +#endif + diff --git a/sc/source/ui/inc/asciiopt.hxx b/sc/source/ui/inc/asciiopt.hxx new file mode 100644 index 000000000000..07f3ce90df7e --- /dev/null +++ b/sc/source/ui/inc/asciiopt.hxx @@ -0,0 +1,258 @@ +/************************************************************************* + * + * $RCSfile: asciiopt.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_ASCIIOPT_HXX +#define SC_ASCIIOPT_HXX + +#include <tools/solar.h> +#ifndef _STRING_HXX //autogen +#include <tools/string.hxx> +#endif +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#ifndef _SCRBAR_HXX //autogen +#include <vcl/scrbar.hxx> +#endif +#ifndef _SVTABBX_HXX //autogen +#include <svtools/svtabbx.hxx> +#endif +#ifndef _STREAM_HXX //autogen +#include <tools/stream.hxx> +#endif + +#ifndef _SVSTDARR_ULONGS +#define _SVSTDARR_ULONGS +#include <svtools/svstdarr.hxx> +#endif + +#include "tabrul.hxx" + +//=================================================================== + +// Spaltenformate (Werte wie bei OpenText in Excel) + +#define SC_COL_STANDARD 1 +#define SC_COL_TEXT 2 +#define SC_COL_MDY 3 +#define SC_COL_DMY 4 +#define SC_COL_YMD 5 +#define SC_COL_SKIP 9 +#define SC_COL_ENGLISH 10 + +#define SC_ASCIIOPT_PREVIEW_LINES 5 // Anzahl Preview Lines + +// Import-Optionen + +class ScAsciiOptions +{ +private: + BOOL bFixedLen; + String aFieldSeps; + BOOL bMergeFieldSeps; + sal_Unicode cTextSep; + CharSet eCharSet; + long nStartRow; + USHORT nInfoCount; + xub_StrLen* pColStart; + BYTE* pColFormat; + +public: + ScAsciiOptions(); + ScAsciiOptions(const ScAsciiOptions& rOpt); + ~ScAsciiOptions(); + + ScAsciiOptions& operator=( const ScAsciiOptions& rCpy ); + + BOOL operator==( const ScAsciiOptions& rCmp ) const; + + void ReadFromString( const String& rString ); + String WriteToString() const; + + void InterpretColumnList( const String& rString ); + + CharSet GetCharSet() const { return eCharSet; } + const String& GetFieldSeps() const { return aFieldSeps; } + BOOL IsMergeSeps() const { return bMergeFieldSeps; } + sal_Unicode GetTextSep() const { return cTextSep; } + BOOL IsFixedLen() const { return bFixedLen; } + USHORT GetInfoCount() const { return nInfoCount; } + const xub_StrLen* GetColStart() const { return pColStart; } + const BYTE* GetColFormat() const { return pColFormat; } + long GetStartRow() const { return nStartRow; } + + void SetCharSet( CharSet eNew ) { eCharSet = eNew; } + void SetFixedLen( BOOL bSet ) { bFixedLen = bSet; } + void SetFieldSeps( const String& rStr ) { aFieldSeps = rStr; } + void SetMergeSeps( BOOL bSet ) { bMergeFieldSeps = bSet; } + void SetTextSep( sal_Unicode c ) { cTextSep = c; } + void SetStartRow( long nRow) { nStartRow= nRow; } + + void SetColInfo( USHORT nCount, const xub_StrLen* pStart, const BYTE* pFormat ); +}; + + +// Import-Dialog + +class ScImportAsciiDlg : public ModalDialog +{ + SvStream* pDatStream; + ULONG* pRowPosArray; + USHORT nArrayEndPos; + + BOOL bVFlag; + + FixedText aFtRow; + NumericField aNfRow; + + FixedText aFtCharSet; + ListBox aLbCharSet; + + RadioButton aRbFixed; + RadioButton aRbSeparated; + + CheckBox aCkbTab; + CheckBox aCkbSemicolon; + CheckBox aCkbComma; + CheckBox aCkbSpace; + CheckBox aCkbOther; + Edit aEdOther; + CheckBox aCkbAsOnce; + FixedText aFtTextSep; + ComboBox aCbTextSep; + + ScTableWithRuler aTableBox; + FixedText aFtType; + ListBox aLbType; + ScrollBar aScrollbar; + ScrollBar aVScroll; + + GroupBox aGbSepOpt; + GroupBox aGbFieldOpt; + GroupBox aGbWidth; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + String aStringCol; + String aStringTo; + String aCharSetUser; + String aColumnUser; + String aFldSepList; + String aTextSepList; + + // aPreviewLine contains the byte string as read from the file + ByteString aPreviewLine[SC_ASCIIOPT_PREVIEW_LINES]; + + USHORT nScrollPos; + USHORT nUsedCols; + USHORT* pEndValues; + BYTE* pFlags; + CharSet eCharSet; + + void CheckDisable(); + void CheckValues(BOOL bReadVal = FALSE, USHORT nEditField = USHRT_MAX); + void CheckColTypes(BOOL bReadVal,void *pCtr=NULL); + void CheckScrollRange(); + void CheckScrollPos(); + void UpdateVertical(); + void DelimitedPreview(); + void GetCharSet(); + + DECL_LINK( VarFixHdl, void* ); + DECL_LINK( ScrollHdl, void* ); + DECL_LINK( SelectHdl, ScTableWithRuler* ); + DECL_LINK( ColTypeHdl, void* ); + DECL_LINK( CharSetHdl, void* ); + DECL_LINK( VarSepHdl, void* ); + +public: + ScImportAsciiDlg( Window* pParent, String aDatName, + SvStream* pInStream, sal_Unicode cSep = '\t' ); + ~ScImportAsciiDlg(); + + void GetOptions( ScAsciiOptions& rOpt ); +}; + + + +#endif + + diff --git a/sc/source/ui/inc/attrdlg.hrc b/sc/source/ui/inc/attrdlg.hrc new file mode 100644 index 000000000000..9d71e83491b1 --- /dev/null +++ b/sc/source/ui/inc/attrdlg.hrc @@ -0,0 +1,83 @@ +/************************************************************************* + * + * $RCSfile: attrdlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // -> SC_DLG_ATTR + +#define TP_NUMBER 1 +#define TP_FONT 2 +#define TP_ALIGNMENT 3 +#define TP_BORDER 4 +#define TP_BACKGROUND 5 +#define TP_PROTECTION 6 + +//================================================ +// Zellschutz-TabPage: + +#define BTN_PROTECTED 1 +#define BTN_HIDE_FORMULAR 2 +#define BTN_HIDE_ALL 3 +#define FT_HINT 4 +#define GB_PROTECTION 5 +#define BTN_HIDE_PRINT 6 +#define FT_HINT2 7 +#define GB_PRINT 8 + + diff --git a/sc/source/ui/inc/attrdlg.hxx b/sc/source/ui/inc/attrdlg.hxx new file mode 100644 index 000000000000..70a79eb23827 --- /dev/null +++ b/sc/source/ui/inc/attrdlg.hxx @@ -0,0 +1,93 @@ +/************************************************************************* + * + * $RCSfile: attrdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_ATTRDLG_HXX +#define SC_ATTRDLG_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +class Window; +class SfxViewFrame; +class SfxItemSet; + +//================================================================== + +class ScAttrDlg : public SfxTabDialog +{ +public: + ScAttrDlg( SfxViewFrame* pFrame, + Window* pParent, + const SfxItemSet* pCellAttrs ); + ~ScAttrDlg(); + +protected: + virtual void PageCreated( USHORT nPageId, SfxTabPage& rTabPage ); + +private: + DECL_LINK( OkHandler, void* ); // fuer DoppelClick-Beenden in TabPages +}; + + +#endif // SC_ATTRDLG_HXX + + diff --git a/sc/source/ui/inc/auditsh.hxx b/sc/source/ui/inc/auditsh.hxx new file mode 100644 index 000000000000..4c687033a786 --- /dev/null +++ b/sc/source/ui/inc/auditsh.hxx @@ -0,0 +1,97 @@ +/************************************************************************* + * + * $RCSfile: auditsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_AUDITSH_HXX +#define SC_AUDITSH_HXX + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#include "shellids.hxx" + +class ScViewData; + +class ScAuditingShell : public SfxShell +{ +private: + ScViewData* pViewData; + USHORT nFunction; + +public: + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_AUDITING_SHELL); + + ScAuditingShell(ScViewData* pData); + ~ScAuditingShell(); + + void Execute(SfxRequest& rReq); + void GetState(SfxItemSet& rSet); +}; + + + +#endif + + diff --git a/sc/source/ui/inc/autofmt.hxx b/sc/source/ui/inc/autofmt.hxx new file mode 100644 index 000000000000..a4be07619cc5 --- /dev/null +++ b/sc/source/ui/inc/autofmt.hxx @@ -0,0 +1,229 @@ +/************************************************************************* + * + * $RCSfile: autofmt.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_AUTOFMT_HXX +#define SC_AUTOFMT_HXX + +#ifndef _VIRDEV_HXX //autogen +#include <vcl/virdev.hxx> +#endif +#ifndef SV_FIXED_HXX +#include <vcl/fixed.hxx> +#endif +#ifndef SV_LSTBOX_HXX +#include <vcl/lstbox.hxx> +#endif +#ifndef SV_GROUP_HXX +#include <vcl/group.hxx> +#endif +#ifndef SV_BUTTON_HXX +#include <vcl/button.hxx> +#endif +#ifndef SV_MOREBTN_HXX +#include <vcl/morebtn.hxx> +#endif +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + + +//------------------------------------------------------------------------ + +class ScAutoFormat; +class ScAutoFormatData; +class SvxBoxItem; +class SvxBorderLine; +class AutoFmtPreview; // s.u. +class SvNumberFormatter; + +//------------------------------------------------------------------------ + +enum AutoFmtLine { TOP_LINE, BOTTOM_LINE, LEFT_LINE, RIGHT_LINE }; + +//======================================================================== + +class ScAutoFormatDlg : public ModalDialog +{ +public: + ScAutoFormatDlg( Window* pParent, + ScAutoFormat* pAutoFormat, + const ScAutoFormatData* pSelFormatData ); + ~ScAutoFormatDlg(); + + USHORT GetIndex() const { return nIndex; } + String GetCurrFormatName(); + +private: + FixedText aFtFormat; + ListBox aLbFormat; + AutoFmtPreview* pWndPreview; + GroupBox aGbPreview; + PushButton aBtnAdd; + PushButton aBtnRemove; + PushButton aBtnRename; + CheckBox aBtnNumFormat; + CheckBox aBtnBorder; + CheckBox aBtnFont; + CheckBox aBtnPattern; + CheckBox aBtnAlignment; + CheckBox aBtnAdjust; + GroupBox aGbFormat; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + MoreButton aBtnMore; + String aStrTitle; + String aStrLabel; + String aStrClose; + String aStrDelTitle; + String aStrDelMsg; + String aStrRename; + + //------------------------ + ScAutoFormat* pFormat; + const ScAutoFormatData* pSelFmtData; + USHORT nIndex; + BOOL bCoreDataChanged; + BOOL bFmtInserted; + + void Init (); + void UpdateChecks (); + //------------------------ + DECL_LINK( CheckHdl, Button * ); + DECL_LINK( AddHdl, void * ); + DECL_LINK( RemoveHdl, void * ); + DECL_LINK( SelFmtHdl, void * ); + DECL_LINK( CloseHdl, PushButton * ); + DECL_LINK( DblClkHdl, void * ); + DECL_LINK( RenameHdl, void *); + +}; + +//======================================================================== + +class AutoFmtPreview : public Window +{ +public: + AutoFmtPreview( Window* pParent, const ResId& rRes ); + ~AutoFmtPreview(); + + void NotifyChange( ScAutoFormatData* pNewData ); + +protected: + virtual void Paint( const Rectangle& rRect ); + +private: + ScAutoFormatData* pCurData; + VirtualDevice aVD; + BOOL bFitWidth; + static USHORT aFmtMap[25]; // Zuordnung: Zelle->Format + Rectangle aCellArray[25]; // Position und Groesse der Zellen + SvxBoxItem* aLinePtrArray[49]; // LinienAttribute + Size aPrvSize; + const USHORT nLabelColWidth; + const USHORT nDataColWidth1; + const USHORT nDataColWidth2; + const USHORT nRowHeight; + const String aStrJan; + const String aStrFeb; + const String aStrMar; + const String aStrNorth; + const String aStrMid; + const String aStrSouth; + const String aStrSum; + SvNumberFormatter* pNumFmt; + //------------------------------------------- + void Init (); + void DoPaint ( const Rectangle& rRect ); + void CalcCellArray ( BOOL bFitWidth ); + void CalcLineMap (); + void PaintCells (); + void DrawBackground ( USHORT nIndex ); + void DrawFrame ( USHORT nIndex ); + void DrawString ( USHORT nIndex ); + void MakeFont ( USHORT nIndex, Font& rFont ); + String MakeNumberString( String cellString, BOOL bAddDec ); + void DrawFrameLine ( const SvxBorderLine& rLineD, + Point from, + Point to, + BOOL bHorizontal, + const SvxBorderLine& rLineLT, + const SvxBorderLine& rLineL, + const SvxBorderLine& rLineLB, + const SvxBorderLine& rLineRT, + const SvxBorderLine& rLineR, + const SvxBorderLine& rLineRB ); + void CheckPriority ( USHORT nCurLine, + AutoFmtLine eLine, + SvxBorderLine& rLine ); + void GetLines ( USHORT nIndex, AutoFmtLine eLine, + SvxBorderLine& rLineD, + SvxBorderLine& rLineLT, + SvxBorderLine& rLineL, + SvxBorderLine& rLineLB, + SvxBorderLine& rLineRT, + SvxBorderLine& rLineR, + SvxBorderLine& rLineRB ); +}; + +#endif // SC_AUTOFMT_HXX + + diff --git a/sc/source/ui/inc/autostyl.hxx b/sc/source/ui/inc/autostyl.hxx new file mode 100644 index 000000000000..feeb043ce197 --- /dev/null +++ b/sc/source/ui/inc/autostyl.hxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * $RCSfile: autostyl.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_AUTOSTYL_HXX +#define SC_AUTOSTYL_HXX + +#ifndef _TIMER_HXX //autogen +#include <vcl/timer.hxx> +#endif +#ifndef _LIST_HXX //autogen +#include <tools/list.hxx> +#endif +#ifndef _STRING_HXX //autogen +#include <tools/string.hxx> +#endif + +class ScDocShell; +class ScRange; + +class ScAutoStyleList +{ +private: + ScDocShell* pDocSh; + Timer aTimer; + Timer aInitTimer; + ULONG nTimerStart; + List aEntries; + List aInitials; + + void ExecuteEntries(); + void AdjustEntries(ULONG nDiff); + void StartTimer(ULONG nNow); + DECL_LINK( TimerHdl, Timer* ); + DECL_LINK( InitHdl, Timer* ); + +public: + ScAutoStyleList(ScDocShell* pShell); + ~ScAutoStyleList(); + + void AddInitial( const ScRange& rRange, const String& rStyle1, + ULONG nTimeout, const String& rStyle2 ); + void AddEntry( ULONG nTimeout, const ScRange& rRange, const String& rStyle ); + + void ExecuteAllNow(); +}; + + + +#endif + diff --git a/sc/source/ui/inc/cbutton.hxx b/sc/source/ui/inc/cbutton.hxx new file mode 100644 index 000000000000..1b096d4935d5 --- /dev/null +++ b/sc/source/ui/inc/cbutton.hxx @@ -0,0 +1,128 @@ +/************************************************************************* + * + * $RCSfile: cbutton.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +//------------------------------------------------------------------ + +#ifndef SC_CBUTTON_HXX +#define SC_CBUTTON_HXX + +#ifndef _GEN_HXX //autogen +#include <tools/gen.hxx> +#endif + +#ifndef _SV_COLOR_HXX //autogen +#include <vcl/color.hxx> +#endif + +class Window; + + +//================================================================== + +class ScDDComboBoxButton +{ +public: + ScDDComboBoxButton( Window* pOutputDevice ); + ~ScDDComboBoxButton(); + + void Draw( const Point& rAt, + const Size& rSize, + const Color& rArrowCol, + BOOL bBtnIn = FALSE ); + + void Draw( const Point& rAt, + const Color& rArrowCol, + BOOL bBtnIn = FALSE ) + { Draw( rAt, aBtnSize, rArrowCol, bBtnIn ); } + + void Draw( const Point& rAt, + BOOL bBtnIn = FALSE ) + { Draw( rAt, aBtnSize, aArrowColor, bBtnIn ); } + + void Draw( BOOL bBtnIn = FALSE ) + { Draw( aBtnPos, aBtnSize, aArrowColor, bBtnIn ); } + + void SetOptSizePixel(); + + void SetPosPixel( const Point& rNewPos ) { aBtnPos = rNewPos; } + Point GetPosPixel() const { return aBtnPos; } + + void SetSizePixel( const Size& rNewSize ) { aBtnSize = rNewSize; } + Size GetSizePixel() const { return aBtnSize; } + + void SetColor( const Color& rNewColor ) { aArrowColor = rNewColor; } + Color GetColor() const { return aArrowColor; } + +private: + void ImpDrawArrow( const Rectangle& rRect, + const Color& rColor ); + +protected: + Window* pOut; + Point aBtnPos; + Size aBtnSize; + Color aArrowColor; +}; + + +#endif // SC_CBUTTON_HXX + + diff --git a/sc/source/ui/inc/cellsh.hxx b/sc/source/ui/inc/cellsh.hxx new file mode 100644 index 000000000000..a98b6e0c7f79 --- /dev/null +++ b/sc/source/ui/inc/cellsh.hxx @@ -0,0 +1,117 @@ +/************************************************************************* + * + * $RCSfile: cellsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_CELLSH_HXX +#define SC_CELLSH_HXX + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#include "shellids.hxx" +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#ifndef _SVDMARK_HXX //autogen +#include <svx/svdmark.hxx> +#endif + +#ifndef SC_FORMATSH_HXX +#include "formatsh.hxx" +#endif + +class ScCellShell: public ScFormatShell +{ +public: + + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_CELL_SHELL); + + ScCellShell(ScViewData* pData); + virtual ~ScCellShell(); + + void Execute(SfxRequest &); + void GetState(SfxItemSet &); + + void ExecuteEdit( SfxRequest& rReq ); + + void GetBlockState( SfxItemSet& rSet ); + void GetCellState( SfxItemSet& rSet ); + + void ExecuteDB( SfxRequest& rReq ); + void GetDBState( SfxItemSet& rSet ); + + void ExecImageMap(SfxRequest& rReq); // ImageMap + void GetImageMapState(SfxItemSet& rSet); + + void GetClipState( SfxItemSet& rSet ); + void GetHLinkState( SfxItemSet& rSet ); + + void ExecuteCursor( SfxRequest& rReq ); + void ExecuteCursorSel( SfxRequest& rReq ); + void ExecutePage( SfxRequest& rReq ); + void ExecutePageSel( SfxRequest& rReq ); + void ExecuteMove( SfxRequest& rReq ); + void GetStateCursor( SfxItemSet& rSet ); + +}; + +#endif diff --git a/sc/source/ui/inc/chartsh.hxx b/sc/source/ui/inc/chartsh.hxx new file mode 100644 index 000000000000..8147e5672a5c --- /dev/null +++ b/sc/source/ui/inc/chartsh.hxx @@ -0,0 +1,93 @@ +/************************************************************************* + * + * $RCSfile: chartsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef CHARTSH_HXX +#define CHARTSH_HXX + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#include "shellids.hxx" +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#ifndef _SVDMARK_HXX //autogen +#include <svx/svdmark.hxx> +#endif + +class ScViewData; + +#include "drawsh.hxx" + +class ScChartShell: public ScDrawShell +{ +public: + + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_CHART_SHELL); + + ScChartShell(ScViewData* pData); + virtual ~ScChartShell(); + +}; + +#endif diff --git a/sc/source/ui/inc/client.hxx b/sc/source/ui/inc/client.hxx new file mode 100644 index 000000000000..a944bcb8c26a --- /dev/null +++ b/sc/source/ui/inc/client.hxx @@ -0,0 +1,100 @@ +/************************************************************************* + * + * $RCSfile: client.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_CLIENT_HXX +#define SC_CLIENT_HXX + +#ifndef _SFX_CLIENTSH_HXX //autogen +#include <sfx2/clientsh.hxx> +#endif + +class ScDocument; +class ScTabViewShell; +class SdrOle2Obj; +class SdrGrafObj; +class SdrModel; + +class ScClient : public SfxInPlaceClient +{ +private: + SdrModel* pModel; + SdrGrafObj* pGrafEdit; + +public: + ScClient( ScTabViewShell* pViewShell, Window* pDraw, SdrModel* pSdrModel ); + virtual ~ScClient(); + + virtual void RequestObjAreaPixel( const Rectangle & rObjRect ); + virtual void ViewChanged( USHORT nAspect ); + virtual void MakeVisible(); + virtual void MakeViewData(); + + virtual void UIActivate( BOOL bActivate ); + + SdrGrafObj* GetGrafEdit() const { return pGrafEdit; } + void SetGrafEdit(SdrGrafObj* pNew) { pGrafEdit = pNew; } + SdrOle2Obj* GetDrawObj(); +}; + + + +#endif + diff --git a/sc/source/ui/inc/colrowba.hxx b/sc/source/ui/inc/colrowba.hxx new file mode 100644 index 000000000000..34d7da9b074d --- /dev/null +++ b/sc/source/ui/inc/colrowba.hxx @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: colrowba.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_COLROWBAR_HXX +#define SC_COLROWBAR_HXX + +#ifndef SC_HDRCONT_HXX +#include "hdrcont.hxx" +#endif + +#ifndef SC_VIEWDATA_HXX +#include "viewdata.hxx" +#endif + +class ScHeaderFunctionSet; +class ScHeaderSelectionEngine; + +// --------------------------------------------------------------------------- + + +class ScColBar : public ScHeaderControl +{ + ScViewData* pViewData; + ScHSplitPos eWhich; + ScHeaderFunctionSet* pFuncSet; + ScHeaderSelectionEngine* pSelEngine; + +public: + ScColBar( Window* pParent, ScViewData* pData, ScHSplitPos eWhichPos, + ScHeaderFunctionSet* pFunc, ScHeaderSelectionEngine* pEng ); + ~ScColBar(); + + virtual USHORT GetPos(); + virtual USHORT GetEntrySize( USHORT nEntryNo ); + virtual String GetEntryText( USHORT nEntryNo ); + + virtual void SetEntrySize( USHORT nPos, USHORT nNewSize ); + virtual void HideEntries( USHORT nStart, USHORT nEnd ); + + virtual void SetMarking( BOOL bSet ); + virtual void SelectWindow(); + virtual BOOL IsDisabled(); + virtual BOOL ResizeAllowed(); + + virtual void DrawInvert( long nDragPos ); + + virtual String GetDragHelp( long nVal ); +}; + + +class ScRowBar : public ScHeaderControl +{ + ScViewData* pViewData; + ScVSplitPos eWhich; + ScHeaderFunctionSet* pFuncSet; + ScHeaderSelectionEngine* pSelEngine; + +public: + ScRowBar( Window* pParent, ScViewData* pData, ScVSplitPos eWhichPos, + ScHeaderFunctionSet* pFunc, ScHeaderSelectionEngine* pEng ); + ~ScRowBar(); + + virtual USHORT GetPos(); + virtual USHORT GetEntrySize( USHORT nEntryNo ); + virtual String GetEntryText( USHORT nEntryNo ); + + virtual USHORT GetHiddenCount( USHORT nEntryNo ); // nur fuer Zeilen + + virtual void SetEntrySize( USHORT nPos, USHORT nNewSize ); + virtual void HideEntries( USHORT nStart, USHORT nEnd ); + + virtual void SetMarking( BOOL bSet ); + virtual void SelectWindow(); + virtual BOOL IsDisabled(); + virtual BOOL ResizeAllowed(); + + virtual void DrawInvert( long nDragPos ); + + virtual String GetDragHelp( long nVal ); +}; + + + +#endif + + diff --git a/sc/source/ui/inc/condfrmt.hrc b/sc/source/ui/inc/condfrmt.hrc new file mode 100644 index 000000000000..b76acea1a68f --- /dev/null +++ b/sc/source/ui/inc/condfrmt.hrc @@ -0,0 +1,100 @@ +/************************************************************************* + * + * $RCSfile: condfrmt.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // ->RID_SCDLG_SOLVER + +#define CBX_COND1 1 +#define LB_COND1_1 2 +#define LB_COND1_2 3 +#define EDT_COND1_1 4 +#define RB_COND1_1 5 +#define FT_COND1_AND 6 +#define EDT_COND1_2 7 +#define RB_COND1_2 8 +#define FT_COND1_TEMPLATE 9 +#define LB_COND1_TEMPLATE 10 + +#define CBX_COND2 11 +#define LB_COND2_1 12 +#define LB_COND2_2 13 +#define EDT_COND2_1 14 +#define RB_COND2_1 15 +#define FT_COND2_AND 16 +#define EDT_COND2_2 17 +#define RB_COND2_2 18 +#define FT_COND2_TEMPLATE 19 +#define LB_COND2_TEMPLATE 20 + +#define CBX_COND3 21 +#define LB_COND3_1 22 +#define LB_COND3_2 23 +#define EDT_COND3_1 24 +#define RB_COND3_1 25 +#define FT_COND3_AND 26 +#define EDT_COND3_2 27 +#define RB_COND3_2 28 +#define FT_COND3_TEMPLATE 29 +#define LB_COND3_TEMPLATE 30 + +#define BTN_OK 31 +#define BTN_CANCEL 32 +#define BTN_HELP 33 + diff --git a/sc/source/ui/inc/condfrmt.hxx b/sc/source/ui/inc/condfrmt.hxx new file mode 100644 index 000000000000..e1f1cc8c6106 --- /dev/null +++ b/sc/source/ui/inc/condfrmt.hxx @@ -0,0 +1,191 @@ +/************************************************************************* + * + * $RCSfile: condfrmt.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + + +#ifndef SC_CONDFRMT_HXX_ +#define SC_CONDFRMT_HXX_ + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + + +class ScDocument; +class ScConditionalFormat; + + +//============================================================================ +// class ScConditionalFormat +// +// Dialog zum Festlegen von bedingten Formaten + +class ScConditionalFormatDlg : public ScAnyRefDlg +{ +public: + ScConditionalFormatDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + ScDocument* pCurDoc, + const ScConditionalFormat* pCurrentFormat ); + ~ScConditionalFormatDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + virtual void AddRefEntry(); + virtual BOOL IsRefInputMode(); + virtual void SetActive(); + virtual BOOL Close(); + +private: + CheckBox aCbxCond1; + ListBox aLbCond11; + ListBox aLbCond12; + ScRefEdit aEdtCond11; + ScRefButton aRbCond11; + FixedText aFtCond1And; + ScRefEdit aEdtCond12; + ScRefButton aRbCond12; + FixedText aFtCond1Template; + ListBox aLbCond1Template; + + CheckBox aCbxCond2; + ListBox aLbCond21; + ListBox aLbCond22; + ScRefEdit aEdtCond21; + ScRefButton aRbCond21; + FixedText aFtCond2And; + ScRefEdit aEdtCond22; + ScRefButton aRbCond22; + FixedText aFtCond2Template; + ListBox aLbCond2Template; + + CheckBox aCbxCond3; + ListBox aLbCond31; + ListBox aLbCond32; + ScRefEdit aEdtCond31; + ScRefButton aRbCond31; + FixedText aFtCond3And; + ScRefEdit aEdtCond32; + ScRefButton aRbCond32; + FixedText aFtCond3Template; + ListBox aLbCond3Template; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + Point aCond1Pos1; + Point aCond1Pos2; + Point aRBtn1Pos1; + Point aRBtn1Pos2; + Size aCond1Size1; + Size aCond1Size2; + Size aCond1Size3; + + Point aCond2Pos1; + Point aCond2Pos2; + Point aRBtn2Pos1; + Point aRBtn2Pos2; + Size aCond2Size1; + Size aCond2Size2; + Size aCond2Size3; + + Point aCond3Pos1; + Point aCond3Pos2; + Point aRBtn3Pos1; + Point aRBtn3Pos2; + Size aCond3Size1; + Size aCond3Size2; + Size aCond3Size3; + + ScRefEdit* pEdActive; + BOOL bDlgLostFocus; + ScDocument* pDoc; + +#ifdef _CONDFRMT_CXX + void GetConditionalFormat( ScConditionalFormat& rCndFmt ); + + DECL_LINK( ClickCond1Hdl, void * ); + DECL_LINK( ChangeCond11Hdl, void * ); + DECL_LINK( ChangeCond12Hdl, void * ); + + DECL_LINK( ClickCond2Hdl, void * ); + DECL_LINK( ChangeCond21Hdl, void * ); + DECL_LINK( ChangeCond22Hdl, void * ); + + DECL_LINK( ClickCond3Hdl, void * ); + DECL_LINK( ChangeCond31Hdl, void * ); + DECL_LINK( ChangeCond32Hdl, void * ); + + DECL_LINK( EdGetFocusHdl, ScRefEdit* ); + DECL_LINK( EdLoseFocusHdl, ScRefEdit* ); + DECL_LINK( BtnHdl, PushButton* ); +#endif // _CONDFRMT_CXX +}; + +#endif // SC_CONDFRMT_HXX_ + + diff --git a/sc/source/ui/inc/consdlg.hxx b/sc/source/ui/inc/consdlg.hxx new file mode 100644 index 000000000000..8408feac1fb1 --- /dev/null +++ b/sc/source/ui/inc/consdlg.hxx @@ -0,0 +1,174 @@ +/************************************************************************* + * + * $RCSfile: consdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:57 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_CONSDLG_HXX +#define SC_CONSDLG_HXX + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +class ScViewData; +class ScDocument; +class ScRangeUtil; +class ScAreaData; + + +//============================================================================ + +class ScConsolidateDlg : public ScAnyRefDlg +{ +public: + ScConsolidateDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + const SfxItemSet& rArgSet ); + ~ScConsolidateDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + + virtual BOOL IsRefInputMode() const { return TRUE; } + virtual void SetActive(); + + virtual BOOL Close(); + +protected: + virtual void Deactivate(); + +private: + FixedText aFtFunc; + ListBox aLbFunc; + + FixedText aFtConsAreas; + MultiListBox aLbConsAreas; + + ListBox aLbDataArea; + FixedText aFtDataArea; + ScRefEdit aEdDataArea; + ScRefButton aRbDataArea; + + ListBox aLbDestArea; + FixedText aFtDestArea; + ScRefEdit aEdDestArea; + ScRefButton aRbDestArea; + + CheckBox aBtnByRow; + CheckBox aBtnByCol; + + GroupBox aGbConsBy; + CheckBox aBtnRefs; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + MoreButton aBtnMore; + PushButton aBtnAdd; + PushButton aBtnRemove; + + String aStrUndefined; + + ScConsolidateParam theConsData; + ScViewData* pViewData; + ScDocument* pDoc; + ScRangeUtil* pRangeUtil; + ScAreaData* pAreaData; + USHORT nAreaDataCount; + USHORT nWhichCons; + + ScRefEdit* pRefInputEdit; + BOOL bDlgLostFocus; + +#ifdef _CONSDLG_CXX +private: + void Init (); + void FillAreaLists (); + BOOL VerifyEdit ( ScRefEdit* pEd ); + + DECL_LINK( OkHdl, void* ); + DECL_LINK( ClickHdl, PushButton* ); + DECL_LINK( GetFocusHdl, Control* ); + DECL_LINK( ModifyHdl, ScRefEdit* ); + DECL_LINK( SelectHdl, ListBox* ); + + ScSubTotalFunc LbPosToFunc( USHORT nPos ); + USHORT FuncToLbPos( ScSubTotalFunc eFunc ); +#endif // _CONSDLG_CXX +}; + + + +#endif // SC_CONSDLG_HXX + diff --git a/sc/source/ui/inc/content.hxx b/sc/source/ui/inc/content.hxx new file mode 100644 index 000000000000..8a94563a7190 --- /dev/null +++ b/sc/source/ui/inc/content.hxx @@ -0,0 +1,177 @@ +/************************************************************************* + * + * $RCSfile: content.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_CONTENT_HXX +#define SC_CONTENT_HXX + +#ifndef _SVTREEBOX_HXX //autogen +#include <svtools/svtreebx.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +class ScNavigatorDlg; +class ScDocument; +class ScDocShell; +class ScAreaLink; + +#define SC_CONTENT_ROOT 0 +#define SC_CONTENT_TABLE 1 +#define SC_CONTENT_RANGENAME 2 +#define SC_CONTENT_DBAREA 3 +#define SC_CONTENT_GRAPHIC 4 +#define SC_CONTENT_OLEOBJECT 5 +#define SC_CONTENT_NOTE 6 +#define SC_CONTENT_AREALINK 7 +#define SC_CONTENT_COUNT 8 + +// +// TreeListBox fuer Inhalte +// + +class ScContentTree : public SvTreeListBox +{ + ScNavigatorDlg* pParentWindow; + Bitmap aExpBmp; + Bitmap aCollBmp; + ImageList aEntryImages; + SvLBoxEntry* pRootNodes[SC_CONTENT_COUNT]; + USHORT nRootType; // als Root eingestellt + String aManualDoc; // im Navigator umgeschaltet (Title) + BOOL bHiddenDoc; // verstecktes aktiv? + String aHiddenName; // URL zum Laden + String aHiddenTitle; // fuer Anzeige + ScDocument* pHiddenDocument; // temporaer + + USHORT pPosList[SC_CONTENT_COUNT]; // fuer die Reihenfolge + + static BOOL bIsInDrag; // static, falls der Navigator im ExecuteDrag geloescht wird + + ScDocShell* GetManualOrCurrent(); + + void InitRoot(USHORT nType); + void ClearType(USHORT nType); + void ClearAll(); + void InsertContent( USHORT nType, const String& rValue ); + void GetDrawNames( USHORT nType, USHORT nId ); + + void GetTableNames(); + void GetAreaNames(); + void GetDbNames(); + void GetLinkNames(); + void GetGraphicNames(); + void GetOleNames(); + void GetNoteStrings(); + + BOOL DrawNamesChanged( USHORT nType, USHORT nId ); + BOOL NoteStringsChanged(); + + ScAddress GetNotePos( ULONG nIndex ); + const ScAreaLink* GetLink( ULONG nIndex ); + + USHORT GetCurrentContent( String& rValue ); + ULONG GetCurrentIndex( SvLBoxEntry* pCurrent = NULL ); + void DoDrag(); + void AdjustTitle(); + + ScDocument* GetSourceDocument(); + + DECL_LINK( DoubleClickHdl, ScContentTree* ); + DECL_STATIC_LINK( ScContentTree, ExecDragHdl, void* ); + +protected: + virtual BOOL Drop( const DropEvent& rEvt ); + virtual BOOL QueryDrop( DropEvent& rEvt ); + virtual void Command( const CommandEvent& rCEvt ); + virtual void RequestHelp( const HelpEvent& rHEvt ); + +public: + ScContentTree( Window* pParent, const ResId& rResId ); + ~ScContentTree(); + + virtual void KeyInput(const KeyEvent& rKEvt); + + void InitWindowBits( BOOL bButtons ); + + void Refresh( USHORT nType = 0 ); + + void ToggleRoot(); + void SetRootType( USHORT nNew ); + USHORT GetRootType() const { return nRootType; } + + void ActiveDocChanged(); + void ResetManualDoc(); + void SetManualDoc(const String& rName); + BOOL LoadFile(const String& rUrl); + void SelectDoc(const String& rName); + + const String& GetHiddenTitle() const { return aHiddenTitle; } + + static BOOL IsInDrag() { return bIsInDrag; } +}; + + + + +#endif // SC_NAVIPI_HXX + diff --git a/sc/source/ui/inc/corodlg.hxx b/sc/source/ui/inc/corodlg.hxx new file mode 100644 index 000000000000..a6cbe68b12d4 --- /dev/null +++ b/sc/source/ui/inc/corodlg.hxx @@ -0,0 +1,115 @@ +/************************************************************************* + * + * $RCSfile: corodlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_CORODLG_HXX +#define SC_CORODLG_HXX + +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#include "sc.hrc" +#include "scresid.hxx" + +//------------------------------------------------------------------------ + +class ScColRowLabelDlg : public ModalDialog +{ +public: + ScColRowLabelDlg( Window* pParent, + BOOL bCol = FALSE, + BOOL bRow = FALSE ) + : ModalDialog( pParent, ScResId( RID_SCDLG_CHARTCOLROW ) ), + aBtnRow ( this, ScResId(2) ), + aBtnCol ( this, ScResId(1) ), + aBtnOk ( this, ScResId(3) ), + aBtnCancel ( this, ScResId(4) ), + aBtnHelp ( this, ScResId(5) ), + aGbColRow ( this, ScResId(6) ) + { + FreeResource(); + aBtnCol.Check( bCol ); + aBtnRow.Check( bRow ); + } + + BOOL IsCol() { return aBtnCol.IsChecked(); } + BOOL IsRow() { return aBtnRow.IsChecked(); } + +private: + CheckBox aBtnRow; + CheckBox aBtnCol; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + GroupBox aGbColRow; +}; + + +#endif + + + diff --git a/sc/source/ui/inc/crdlg.hxx b/sc/source/ui/inc/crdlg.hxx new file mode 100644 index 000000000000..521a88d58e04 --- /dev/null +++ b/sc/source/ui/inc/crdlg.hxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * $RCSfile: crdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_CRDLG_HXX +#define SC_CRDLG_HXX + + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + + +#define SCRET_COLS 0x42 +#define SCRET_ROWS 0x43 + +//------------------------------------------------------------------------ + +class ScColOrRowDlg : public ModalDialog +{ +public: + ScColOrRowDlg( Window* pParent, + const String& rStrTitle, + const String& rStrLabel, + BOOL bColDefault = TRUE ); + ~ScColOrRowDlg(); + +private: + RadioButton aBtnRows; + RadioButton aBtnCols; + GroupBox aGbFrame; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + DECL_LINK( OkHdl, OKButton * ); +}; + + +#endif + + + diff --git a/sc/source/ui/inc/crnrdlg.hrc b/sc/source/ui/inc/crnrdlg.hrc new file mode 100644 index 000000000000..86c0e363a542 --- /dev/null +++ b/sc/source/ui/inc/crnrdlg.hrc @@ -0,0 +1,80 @@ +/************************************************************************* + * + * $RCSfile: crnrdlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // -> RID_SCDLG_COLROWNAMERANGES + +#define BTN_OK 1 +#define BTN_CANCEL 2 +#define BTN_ADD 3 +#define BTN_REMOVE 4 +#define BTN_HELP 5 +// +#define LB_RANGE 11 +// +#define GB_ASSIGN 12 +#define ED_AREA 13 +#define RB_AREA 14 +#define BTN_COLHEAD 15 +#define BTN_ROWHEAD 16 +#define ED_DATA 17 +#define RB_DATA 18 +#define FT_DATA_LABEL 19 +// diff --git a/sc/source/ui/inc/crnrdlg.hxx b/sc/source/ui/inc/crnrdlg.hxx new file mode 100644 index 000000000000..4f977b4c09eb --- /dev/null +++ b/sc/source/ui/inc/crnrdlg.hxx @@ -0,0 +1,158 @@ +/************************************************************************* + * + * $RCSfile: crnrdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_CRNRDLG_HXX +#define SC_CRNRDLG_HXX + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +#ifndef SC_RANGELST_HXX +#include "rangelst.hxx" +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + + +class ScViewData; +class ScDocument; + + +//============================================================================ + +class ScColRowNameRangesDlg : public ScAnyRefDlg +{ +public: + ScColRowNameRangesDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + ScViewData* ptrViewData ); + ~ScColRowNameRangesDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + + virtual BOOL IsRefInputMode() const; + virtual void SetActive(); + virtual BOOL Close(); + +private: + ListBox aLbRange; + + GroupBox aGbAssign; + ScRefEdit aEdAssign; + ScRefButton aRbAssign; + RadioButton aBtnColHead; + RadioButton aBtnRowHead; + FixedText aFtAssign2; + ScRefEdit aEdAssign2; + ScRefButton aRbAssign2; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + PushButton aBtnAdd; + PushButton aBtnRemove; + + ScRange theCurArea; + ScRange theCurData; + + ScRangePairListRef xColNameRanges; + ScRangePairListRef xRowNameRanges; + + ScViewData* pViewData; + ScDocument* pDoc; + ScRefEdit* pEdActive; + BOOL bDlgLostFocus; + +#ifdef _CRNRDLG_CXX +private: + void Init (); + void UpdateNames (); + void UpdateRangeData ( const String& rStrName, BOOL bColName ); + void SetColRowData( const ScRange& rLabelRange,BOOL bRef=FALSE); + void AdjustColRowData( const ScRange& rDataRange,BOOL bRef=FALSE); + DECL_LINK( CancelBtnHdl, void * ); + DECL_LINK( OkBtnHdl, void * ); + DECL_LINK( AddBtnHdl, void * ); + DECL_LINK( RemoveBtnHdl, void * ); + DECL_LINK( Range1SelectHdl, void * ); + DECL_LINK( Range1DataModifyHdl, void * ); + DECL_LINK( ColClickHdl, void * ); + DECL_LINK( RowClickHdl, void * ); + DECL_LINK( Range2DataModifyHdl, void * ); + DECL_LINK( EdGetFocusHdl, ScRefEdit* ); + DECL_LINK( EdLoseFocusHdl, ScRefEdit* ); +#endif +}; + + + +#endif // SC_CRNRDLG_HXX + diff --git a/sc/source/ui/inc/dapidata.hxx b/sc/source/ui/inc/dapidata.hxx new file mode 100644 index 000000000000..8da548bdca3c --- /dev/null +++ b/sc/source/ui/inc/dapidata.hxx @@ -0,0 +1,117 @@ +/************************************************************************* + * + * $RCSfile: dapidata.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DAPIDATA_HXX +#define SC_DAPIDATA_HXX + +#ifndef _SV_BUTTON_HXX +#include <vcl/button.hxx> +#endif +#ifndef _SV_DIALOG_HXX +#include <vcl/dialog.hxx> +#endif +#ifndef _SV_FIXED_HXX +#include <vcl/fixed.hxx> +#endif +#ifndef _SV_GROUP_HXX +#include <vcl/group.hxx> +#endif +#ifndef _SV_LSTBOX_HXX +#include <vcl/lstbox.hxx> +#endif +#ifndef _SV_COMBOBOX_HXX +#include <vcl/combobox.hxx> +#endif + +//------------------------------------------------------------------------ + +struct ScImportSourceDesc; + + +class ScDataPilotDatabaseDlg : public ModalDialog +{ +private: + FixedText aFtDatabase; + ListBox aLbDatabase; + FixedText aFtObject; + ComboBox aCbObject; + FixedText aFtType; + ListBox aLbType; + GroupBox aGbFrame; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + void FillObjects(); + + DECL_LINK( SelectHdl, ListBox* ); + +public: + ScDataPilotDatabaseDlg( Window* pParent ); + ~ScDataPilotDatabaseDlg(); + + void GetValues( ScImportSourceDesc& rDesc ); +}; + + +#endif + + diff --git a/sc/source/ui/inc/dapitype.hxx b/sc/source/ui/inc/dapitype.hxx new file mode 100644 index 000000000000..ff60fdcc9411 --- /dev/null +++ b/sc/source/ui/inc/dapitype.hxx @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: dapitype.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DAPITYPE_HXX +#define SC_DAPITYPE_HXX + +#ifndef _SV_BUTTON_HXX +#include <vcl/button.hxx> +#endif +#ifndef _SV_DIALOG_HXX +#include <vcl/dialog.hxx> +#endif +#ifndef _SV_EDIT_HXX +#include <vcl/edit.hxx> +#endif +#ifndef _SV_FIXED_HXX +#include <vcl/fixed.hxx> +#endif +#ifndef _SV_GROUP_HXX +#include <vcl/group.hxx> +#endif +#ifndef _SV_LSTBOX_HXX +#include <vcl/lstbox.hxx> +#endif + +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_HXX_ +#include <com/sun/star/uno/Sequence.hxx> +#endif + +//------------------------------------------------------------------------ + +class ScDataPilotSourceTypeDlg : public ModalDialog +{ +private: + RadioButton aBtnSelection; + RadioButton aBtnDatabase; + RadioButton aBtnExternal; + GroupBox aGbFrame; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + +public: + ScDataPilotSourceTypeDlg( Window* pParent, BOOL bEnableExternal ); + ~ScDataPilotSourceTypeDlg(); + + BOOL IsSelection() const; + BOOL IsDatabase() const; + BOOL IsExternal() const; +}; + + +class ScDataPilotServiceDlg : public ModalDialog +{ +private: + FixedText aFtService; + ListBox aLbService; + FixedText aFtSource; + Edit aEdSource; + FixedText aFtName; + Edit aEdName; + FixedText aFtUser; + Edit aEdUser; + FixedText aFtPasswd; + Edit aEdPasswd; + GroupBox aGbFrame; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + +public: + ScDataPilotServiceDlg( Window* pParent, + const com::sun::star::uno::Sequence<rtl::OUString>& rServices ); + ~ScDataPilotServiceDlg(); + + String GetServiceName() const; + String GetParSource() const; + String GetParName() const; + String GetParUser() const; + String GetParPass() const; +}; + + +#endif + + diff --git a/sc/source/ui/inc/dbdocfun.hxx b/sc/source/ui/inc/dbdocfun.hxx new file mode 100644 index 000000000000..6daabeb4254e --- /dev/null +++ b/sc/source/ui/inc/dbdocfun.hxx @@ -0,0 +1,126 @@ +/************************************************************************* + * + * $RCSfile: dbdocfun.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DBDOCFUN_HXX +#define SC_DBDOCFUN_HXX + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +class String; + +struct ScImportParam; +struct ScQueryParam; +struct ScSortParam; +struct ScSubTotalParam; + +class SbaSelectionList; +class ScDBData; +class ScDocShell; +class ScRange; +class ScDPObject; + +// --------------------------------------------------------------------------- + +class ScDBDocFunc +{ +friend class ScDBFunc; + +private: + ScDocShell& rDocShell; + +public: + ScDBDocFunc( ScDocShell& rDocSh ): rDocShell(rDocSh) {} + ~ScDBDocFunc() {} + + void UpdateImport( const String& rTarget, const String& rDBName, + const String& rTableName, const String& rStatement, + BOOL bNative, BYTE nType, + const SbaSelectionList* pSelection ); + BOOL DoImport( USHORT nTab, const ScImportParam& rParam, + const SbaSelectionList* pSelection, + BOOL bRecord, BOOL bAddrInsert = FALSE ); + + BOOL Sort( USHORT nTab, const ScSortParam& rSortParam, + BOOL bRecord, BOOL bPaint, BOOL bApi ); + + BOOL Query( USHORT nTab, const ScQueryParam& rQueryParam, + const ScRange* pAdvSource, BOOL bRecord, BOOL bApi ); + + BOOL DoSubTotals( USHORT nTab, const ScSubTotalParam& rParam, + const ScSortParam* pForceNewSort, + BOOL bRecord, BOOL bApi ); + + BOOL AddDBRange( const String& rName, const ScRange& rRange, BOOL bApi ); + BOOL DeleteDBRange( const String& rName, BOOL bApi ); + BOOL RenameDBRange( const String& rOld, const String& rNew, BOOL bApi ); + BOOL ModifyDBData( const ScDBData& rNewData, BOOL bApi ); // Name unveraendert + + BOOL RepeatDB( const String& rDBName, BOOL bRecord, BOOL bApi ); + + BOOL DataPilotUpdate( ScDPObject* pOldObj, const ScDPObject* pNewObj, + BOOL bRecord, BOOL bApi ); +}; + + + +#endif diff --git a/sc/source/ui/inc/dbfunc.hxx b/sc/source/ui/inc/dbfunc.hxx new file mode 100644 index 000000000000..1524e2d62d5c --- /dev/null +++ b/sc/source/ui/inc/dbfunc.hxx @@ -0,0 +1,141 @@ +/************************************************************************* + * + * $RCSfile: dbfunc.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DBFUNC_HXX +#define SC_DBFUNC_HXX + +#include "viewfunc.hxx" + +struct ScSortParam; +struct ScQueryParam; +class ScDBData; +class ScDBCollection; +class ScDPObject; +class ScDPSaveData; + +// --------------------------------------------------------------------------- + +class ScDBFunc : public ScViewFunc +{ +public: + ScDBFunc( Window* pParent, ScDocShell& rDocSh, ScTabViewShell* pViewShell ); + ScDBFunc( Window* pParent, const ScDBFunc& rDBFunc, ScTabViewShell* pViewShell ); + ~ScDBFunc(); + + // nur UISort wiederholt bei Bedarf die Teilergebnisse + + void UISort( const ScSortParam& rSortParam, + BOOL bRecord = TRUE ); + + void Sort( const ScSortParam& rSortParam, + BOOL bRecord = TRUE, BOOL bPaint = TRUE ); + void Query( const ScQueryParam& rQueryParam, + const ScRange* pAdvSource, BOOL bRecord ); + void DoSubTotals( const ScSubTotalParam& rParam, BOOL bRecord = TRUE, + const ScSortParam* pForceNewSort = NULL ); + + void ToggleAutoFilter(); + void HideAutoFilter(); + + void RepeatDB( BOOL bRecord = TRUE ); + + void StartQuerySh( const ScImportParam& rParam ); + BOOL ImportData( const ScImportParam& rParam, BOOL bRecord = TRUE ); + + void GotoDBArea( const String& rDBName ); + + // DB-Bereich vom Cursor + ScDBData* GetDBData( BOOL bMarkArea = TRUE, ScGetDBMode eMode = SC_DB_MAKE ); + + void NotifyCloseDbNameDlg( const ScDBCollection& rNewColl, const List& rDelAreaList ); + + void Consolidate( const ScConsolidateParam& rParam, BOOL bRecord = TRUE ); + + void MakePivotTable( const ScDPSaveData& rData, const ScRange& rDest, BOOL bNewTable, + const ScDPObject& rSource, BOOL bApi = FALSE ); + void DeletePivotTable(); + void RecalcPivotTable(); + + void MakeOutline( BOOL bColumns, BOOL bRecord = TRUE ); + void RemoveOutline( BOOL bColumns, BOOL bRecord = TRUE ); + void RemoveAllOutlines( BOOL bRecord = TRUE ); + void TestRemoveOutline( BOOL& rCol, BOOL& rRow ); + + void AutoOutline( BOOL bRecord = TRUE ); + + void SelectLevel( BOOL bColumns, USHORT nLevel, + BOOL bRecord = TRUE, BOOL bPaint = TRUE ); + void ShowOutline( BOOL bColumns, USHORT nLevel, USHORT nEntry, + BOOL bRecord = TRUE, BOOL bPaint = TRUE ); + void HideOutline( BOOL bColumns, USHORT nLevel, USHORT nEntry, + BOOL bRecord = TRUE, BOOL bPaint = TRUE ); + + void ShowMarkedOutlines( BOOL bRecord = TRUE ); + void HideMarkedOutlines( BOOL bRecord = TRUE ); + BOOL OutlinePossible(BOOL bHide); + + void UpdateCharts(BOOL bAllCharts = FALSE); // Default: am Cursor +}; + + + +#endif + diff --git a/sc/source/ui/inc/dbnamdlg.hrc b/sc/source/ui/inc/dbnamdlg.hrc new file mode 100644 index 000000000000..06f633cbfa43 --- /dev/null +++ b/sc/source/ui/inc/dbnamdlg.hrc @@ -0,0 +1,85 @@ +/************************************************************************* + * + * $RCSfile: dbnamdlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // -> RID_SCDLG_DBNAMES + +#define BTN_OK 1 +#define BTN_CANCEL 2 +#define BTN_ADD 3 +#define BTN_REMOVE 4 +#define BTN_HELP 5 +#define GB_NAME 10 +#define ED_NAME 11 +#define GB_ASSIGN 12 +#define ED_DBAREA 13 +#define RB_DBAREA 14 +#define BTN_HEADER 15 +#define BTN_SIZE 16 +#define BTN_FORMAT 17 +#define FT_SOURCE 18 +#define FT_OPERATIONS 19 +#define STR_ADD 20 +#define STR_MODIFY 21 +#define STR_DB_INVALID 22 +#define BTN_MORE 23 +#define GB_OPTIONS 24 +#define BTN_STRIPDATA 25 + diff --git a/sc/source/ui/inc/dbnamdlg.hxx b/sc/source/ui/inc/dbnamdlg.hxx new file mode 100644 index 000000000000..f020e9f5ddf0 --- /dev/null +++ b/sc/source/ui/inc/dbnamdlg.hxx @@ -0,0 +1,172 @@ +/************************************************************************* + * + * $RCSfile: dbnamdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DBNAMDLG_HXX +#define SC_DBNAMDLG_HXX + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +#ifndef SC_DBCOLECT_HXX +#include "dbcolect.hxx" +#endif + +#ifndef _SC_EXPFTEXT_HXX +#include "expftext.hxx" +#endif + +class ScViewData; +class ScDocument; + + +//============================================================================ + +class ScDbNameDlg : public ScAnyRefDlg +{ +public: + ScDbNameDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + ScViewData* ptrViewData ); + ~ScDbNameDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + + virtual BOOL IsRefInputMode() const; + virtual void SetActive(); + virtual BOOL Close(); + +private: + GroupBox aGbName; + ComboBox aEdName; + + GroupBox aGbAssign; + ScRefEdit aEdAssign; + ScRefButton aRbAssign; + GroupBox aGbOptions; + CheckBox aBtnHeader; + CheckBox aBtnDoSize; + CheckBox aBtnKeepFmt; + CheckBox aBtnStripData; + ScExpandedFixedText aFTSource; //@18.09.97 erweiterter FixedText + FixedText aFTOperations; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + PushButton aBtnAdd; + PushButton aBtnRemove; + MoreButton aBtnMore; + + BOOL bSaved; + + + const String aStrAdd; // "Hinzufuegen" + const String aStrModify; // "Aendern" + const String aStrNoName; // "unbenannt" + const String aStrInvalid; + + String aStrSource; + String aStrOperations; + + ScViewData* pViewData; + ScDocument* pDoc; + BOOL bRefInputMode; + + ScDBCollection aLocalDbCol; + ScRange theCurArea; + List aRemoveList; + +#ifdef _DBNAMDLG_CXX +private: + void Init(); + void UpdateNames(); + void UpdateDBData( const String& rStrName ); + void SetInfoStrings( const ScDBData* pDBData ); + + DECL_LINK( CancelBtnHdl, void * ); + DECL_LINK( OkBtnHdl, void * ); + DECL_LINK( AddBtnHdl, void * ); + DECL_LINK( RemoveBtnHdl, void * ); + DECL_LINK( NameModifyHdl, void * ); + DECL_LINK( AssModifyHdl, void * ); +#endif +}; + + + +#endif // SC_DBNAMDLG_HXX + diff --git a/sc/source/ui/inc/delcldlg.hxx b/sc/source/ui/inc/delcldlg.hxx new file mode 100644 index 000000000000..4cba11b33d50 --- /dev/null +++ b/sc/source/ui/inc/delcldlg.hxx @@ -0,0 +1,106 @@ +/************************************************************************* + * + * $RCSfile: delcldlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DELCLDLG_HXX +#define SC_DELCLDLG_HXX + + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + + +#include "global.hxx" + +//------------------------------------------------------------------------ + +class ScDeleteCellDlg : public ModalDialog +{ +private: + RadioButton aBtnCellsUp; + RadioButton aBtnCellsLeft; + RadioButton aBtnDelRows; + RadioButton aBtnDelCols; + GroupBox aGbFrame; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + +public: + ScDeleteCellDlg( Window* pParent, BOOL bDisallowCellMove = FALSE ); + ~ScDeleteCellDlg(); + + DelCellCmd GetDelCellCmd() const; +}; + + +#endif // SC_DELCLDLG_HXX + + diff --git a/sc/source/ui/inc/delcodlg.hxx b/sc/source/ui/inc/delcodlg.hxx new file mode 100644 index 000000000000..7a440d256428 --- /dev/null +++ b/sc/source/ui/inc/delcodlg.hxx @@ -0,0 +1,119 @@ +/************************************************************************* + * + * $RCSfile: delcodlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DELCODLG_HXX +#define SC_DELCODLG_HXX + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +//------------------------------------------------------------------------ + +class ScDeleteContentsDlg : public ModalDialog +{ +private: + CheckBox aBtnDelAll; + CheckBox aBtnDelStrings; + CheckBox aBtnDelNumbers; + CheckBox aBtnDelDateTime; + CheckBox aBtnDelFormulas; + CheckBox aBtnDelNotes; + CheckBox aBtnDelAttrs; + CheckBox aBtnDelObjects; + GroupBox aGbFrame; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + BOOL bObjectsDisabled; + + static BOOL bPreviousAllCheck; + static USHORT nPreviousChecks; + + void DisableChecks( BOOL bDelAllChecked = TRUE ); + DECL_LINK( DelAllHdl, void * ); + +public: + ScDeleteContentsDlg( Window* pParent, + USHORT nCheckDefaults = 0 ); + ~ScDeleteContentsDlg(); + void DisableObjects(); + + USHORT GetDelContentsCmdBits() const; +}; + + +#endif // SC_DELCODLG_HXX + + diff --git a/sc/source/ui/inc/docfunc.hxx b/sc/source/ui/inc/docfunc.hxx new file mode 100644 index 000000000000..93015725cee6 --- /dev/null +++ b/sc/source/ui/inc/docfunc.hxx @@ -0,0 +1,196 @@ +/************************************************************************* + * + * $RCSfile: docfunc.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DOCFUNC_HXX +#define SC_DOCFUNC_HXX + +#ifndef _LINK_HXX //autogen +#include <tools/link.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +class EditEngine; +class SfxUndoAction; +class ScAddress; +class ScDocShell; +class ScMarkData; +class ScPatternAttr; +class ScRange; +class ScRangeName; +class ScBaseCell; +struct ScTabOpParam; + + +// --------------------------------------------------------------------------- + +class ScDocFunc +{ +private: + ScDocShell& rDocShell; + + BOOL AdjustRowHeight( const ScRange& rRange, BOOL bPaint = TRUE ); + void CreateOneName( ScRangeName& rList, + USHORT nPosX, USHORT nPosY, USHORT nTab, + USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2, + BOOL& rCancel, BOOL bApi ); + +public: + ScDocFunc( ScDocShell& rDocSh ): rDocShell(rDocSh) {} + ~ScDocFunc() {} + + DECL_LINK( NotifyDrawUndo, SfxUndoAction* ); + + BOOL DetectiveAddPred(const ScAddress& rPos); + BOOL DetectiveDelPred(const ScAddress& rPos); + BOOL DetectiveAddSucc(const ScAddress& rPos); + BOOL DetectiveDelSucc(const ScAddress& rPos); + BOOL DetectiveAddError(const ScAddress& rPos); + BOOL DetectiveMarkInvalid(USHORT nTab); + BOOL DetectiveDelAll(USHORT nTab); + BOOL DetectiveRefresh(BOOL bAutomatic = FALSE); + + BOOL DeleteContents( const ScMarkData& rMark, USHORT nFlags, + BOOL bRecord, BOOL bApi ); + + BOOL SetNormalString( const ScAddress& rPos, const String& rText, BOOL bApi ); + BOOL PutCell( const ScAddress& rPos, ScBaseCell* pNewCell, BOOL bApi ); + BOOL PutData( const ScAddress& rPos, EditEngine& rEngine, + BOOL bInterpret, BOOL bApi ); + BOOL SetCellText( const ScAddress& rPos, const String& rText, + BOOL bInterpret, BOOL bEnglish, BOOL bApi ); + + BOOL SetNoteText( const ScAddress& rPos, const String& rText, BOOL bApi ); + + BOOL ApplyAttributes( const ScMarkData& rMark, const ScPatternAttr& rPattern, + BOOL bRecord, BOOL bApi ); + BOOL ApplyStyle( const ScMarkData& rMark, const String& rStyleName, + BOOL bRecord, BOOL bApi ); + + BOOL InsertCells( const ScRange& rRange, InsCellCmd eCmd, BOOL bRecord, BOOL bApi ); + BOOL DeleteCells( const ScRange& rRange, DelCellCmd eCmd, BOOL bRecord, BOOL bApi ); + + BOOL MoveBlock( const ScRange& rSource, const ScAddress& rDestPos, + BOOL bCut, BOOL bRecord, BOOL bPaint, BOOL bApi ); + + BOOL InsertTable( USHORT nTab, const String& rName, BOOL bRecord, BOOL bApi ); + BOOL RenameTable( USHORT nTab, const String& rName, BOOL bRecord, BOOL bApi ); + BOOL DeleteTable( USHORT nTab, BOOL bRecord, BOOL bApi ); + + BOOL SetTableVisible( USHORT nTab, BOOL bVisible, BOOL bApi ); + + BOOL SetWidthOrHeight( BOOL bWidth, USHORT nRangeCnt, USHORT* pRanges, + USHORT nTab, ScSizeMode eMode, USHORT nSizeTwips, + BOOL bRecord, BOOL bApi ); + + BOOL InsertPageBreak( BOOL bColumn, const ScAddress& rPos, + BOOL bRecord, BOOL bSetModified, BOOL bApi ); + BOOL RemovePageBreak( BOOL bColumn, const ScAddress& rPos, + BOOL bRecord, BOOL bSetModified, BOOL bApi ); + + BOOL Protect( USHORT nTab, const String& rPassword, BOOL bApi ); + BOOL Unprotect( USHORT nTab, const String& rPassword, BOOL bApi ); + + BOOL ClearItems( const ScMarkData& rMark, const USHORT* pWhich, BOOL bApi ); + BOOL ChangeIndent( const ScMarkData& rMark, BOOL bIncrement, BOOL bApi ); + BOOL AutoFormat( const ScRange& rRange, const ScMarkData* pTabMark, + USHORT nFormatNo, BOOL bRecord, BOOL bApi ); + + BOOL EnterMatrix( const ScRange& rRange, const ScMarkData* pTabMark, + const String& rString, BOOL bApi ); + + BOOL TabOp( const ScRange& rRange, const ScMarkData* pTabMark, + const ScTabOpParam& rParam, BOOL bRecord, BOOL bApi ); + + BOOL FillSimple( const ScRange& rRange, const ScMarkData* pTabMark, + FillDir eDir, BOOL bRecord, BOOL bApi ); + BOOL FillSeries( const ScRange& rRange, const ScMarkData* pTabMark, + FillDir eDir, FillCmd eCmd, FillDateCmd eDateCmd, + double fStart, double fStep, double fMax, + BOOL bRecord, BOOL bApi ); + // FillAuto: rRange wird von Source-Range auf Dest-Range angepasst + BOOL FillAuto( ScRange& rRange, const ScMarkData* pTabMark, + FillDir eDir, USHORT nCount, BOOL bRecord, BOOL bApi ); + + BOOL ResizeMatrix( const ScRange& rOldRange, const ScAddress& rNewEnd, BOOL bApi ); + + BOOL MergeCells( const ScRange& rRange, BOOL bContents, + BOOL bRecord, BOOL bApi ); + BOOL UnmergeCells( const ScRange& rRange, BOOL bRecord, BOOL bApi ); + + BOOL SetNote( const ScAddress& rPos, const ScPostIt& rNote, BOOL bApi ); + + BOOL ModifyRangeNames( const ScRangeName& rNewRanges, BOOL bApi ); + + BOOL CreateNames( const ScRange& rRange, USHORT nFlags, BOOL bApi ); + BOOL InsertNameList( const ScAddress& rStartPos, BOOL bApi ); + + BOOL InsertAreaLink( const String& rFile, const String& rFilter, + const String& rOptions, const String& rSource, + const ScRange& rDestRange, BOOL bFitBlock, BOOL bApi ); +}; + + + +#endif + diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx new file mode 100644 index 000000000000..df81bbc3ca41 --- /dev/null +++ b/sc/source/ui/inc/docsh.hxx @@ -0,0 +1,395 @@ +/************************************************************************* + * + * $RCSfile: docsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DOCSHELL_HXX +#define SC_DOCSHELL_HXX + + +#ifndef _SFX_OBJSH_HXX //autogen +#include <sfx2/objsh.hxx> +#endif + +#ifndef _SFX_INTERNO_HXX //autogen +#include <sfx2/interno.hxx> +#endif + +#ifndef _SFX_OBJFAC_HXX //autogen +#include <sfx2/docfac.hxx> +#endif + +#ifndef _SFXVIEWSH_HXX //autogen +#include <sfx2/viewsh.hxx> +#endif + + +#ifndef SC_SCDLL_HXX +#include "scdll.hxx" +#endif + +#include "document.hxx" +#include "shellids.hxx" + +class ScEditEngineDefaulter; +class FontList; +class PrintDialog; +class SfxStyleSheetBasePool; +class SfxStyleSheetHint; +class StarBASIC; +struct ChartSelectionInfo; + +class ScPaintItem; +class ScViewData; +class ScDocFunc; +class ScPivot; +class ScDrawLayer; +class ScTabViewShell; +class ScSbxDocHelper; +class ScAutoStyleList; +class ScRange; +class ScMarkData; +class ScPaintLockData; +class ScJobSetup; +class ScChangeAction; + +//================================================================== + + +//enum ScDBFormat { SC_FORMAT_SDF, SC_FORMAT_DBF }; + + // Extra-Flags fuer Repaint +#define SC_PF_LINES 1 +#define SC_PF_TESTMERGE 2 + +class ScDocShell: public SfxObjectShell, public SfxInPlaceObject, public SfxListener +{ + static const sal_Char __FAR_DATA pStarCalcDoc[]; + static const sal_Char __FAR_DATA pStyleName[]; + + ScDocument aDocument; + + String aDdeTextFmt; + String aConvFilterName; //@ #BugId 54198 + + double nPrtToScreenFactor; + FontList* pFontList; + SfxUndoManager* pUndoManager; + ScDocFunc* pDocFunc; + + SfxObjectCreateMode eShellMode; + + BOOL bIsInplace; // wird von der View gesetzt + BOOL bHeaderOn; + BOOL bFooterOn; + BOOL bNoInformLost; + BOOL bIsEmpty; + BOOL bIsInUndo; + BOOL bDocumentModifiedPending; + + ScSbxDocHelper* pDocHelper; + + ScAutoStyleList* pAutoStyleList; + ScPaintLockData* pPaintLockData; + ScJobSetup* pOldJobSetup; + + void InitItems(); + void DoEnterHandler(); + void InitOptions(); + void ResetDrawObjectShell(); + + BOOL GetTabParam( const SfxItemSet* pArgs, USHORT nId, USHORT& rTab ); + BOOL LoadCalc( SvStorage* pStor ); + BOOL SaveCalc( SvStorage* pStor ); + USHORT GetSaveTab(); + + void RemoveUnknownObjects(); + +protected: + + virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, + const SfxHint& rHint, const TypeId& rHintType ); + +public: + TYPEINFO(); + + SFX_DECL_INTERFACE(SCID_DOC_SHELL); + SFX_DECL_OBJECTFACTORY_DLL( ScDocShell, SC_DLL() ); + + ScDocShell( const ScDocShell& rDocShell ); + ScDocShell( SfxObjectCreateMode eMode = SFX_CREATE_MODE_EMBEDDED ); + ~ScDocShell(); + + virtual void Activate(); + virtual void Deactivate(); + + virtual SfxUndoManager* GetUndoManager(); + + virtual void FillRegInfo( SvEmbeddedRegistryInfo* pInfo ); + virtual void FillClass( SvGlobalName * pClassName, + ULONG * pFormat, + String * pAppName, + String * pFullTypeName, + String * pShortTypeName, + long nFileFormat = SOFFICE_FILEFORMAT_NOW ) const; + + virtual BOOL InitNew( SvStorage * ); + virtual BOOL Load( SvStorage * ); + virtual BOOL LoadFrom( SvStorage * ); + virtual BOOL ConvertFrom( SfxMedium &rMedium ); + virtual void HandsOff(); + virtual BOOL Save(); + virtual BOOL SaveAs( SvStorage * pNewStor ); + virtual BOOL ConvertTo( SfxMedium &rMedium ); + virtual USHORT PrepareClose( BOOL bUI = TRUE, BOOL bForBrowsing = FALSE ); + virtual void PrepareReload(); + virtual BOOL IsInformationLost(); + virtual void LoadStyles( SfxObjectShell &rSource ); + virtual BOOL Insert( SfxObjectShell &rSource, + USHORT nSourceIdx1, USHORT nSourceIdx2, USHORT nSourceIdx3, + USHORT &nIdx1, USHORT &nIdx2, USHORT &nIdx3, USHORT &rIdxDeleted ); + + virtual BOOL SaveCompleted( SvStorage * pNewStor ); // SfxInPlaceObject + virtual BOOL DoSaveCompleted( SfxMedium * pNewStor); // SfxObjectShell + + virtual void Draw( OutputDevice *, const JobSetup & rSetup, + USHORT nAspect = ASPECT_CONTENT ); + + virtual void SetVisArea( const Rectangle & rVisArea ); + virtual Rectangle GetVisArea( USHORT nAspect ) const; + + virtual Printer* GetDocumentPrinter(); + + virtual void SetModified( BOOL = TRUE ); + + void SetVisAreaOrSize( const Rectangle& rVisArea, BOOL bModifyStart ); + + virtual SvDataMemberObjectRef CreateSnapshot(); + + virtual SfxDocumentInfoDialog* CreateDocumentInfoDialog( Window *pParent, + const SfxItemSet &rSet ); + + void GetDocStat( ScDocStat& rDocStat ); + + ScDocument* GetDocument() { return &aDocument; } + ScDocFunc& GetDocFunc() { return *pDocFunc; } + + SfxPrinter* GetPrinter(); + USHORT SetPrinter( SfxPrinter* pNewPrinter, USHORT nDiffFlags = SFX_PRINTER_ALL ); + + void UpdateFontList(); + + String CreateObjectName( const String& rPrefix ); + + ScDrawLayer* MakeDrawLayer(); + + ULONG SbaSdbImport( const String& rName, const String& rParStr, BOOL bHeader, BOOL bSimpleColWidth[MAXCOL+1] ); + ULONG SbaSdbExport( BOOL& bHasMemo, const String& rParStr, const String& aFileName ); + void AsciiSave( SvStream& rStream, sal_Unicode cDelim, sal_Unicode cStrDelim, + CharSet eCharSet); + + void GetSbxState( SfxItemSet &rSet ); + void GetDrawObjState( SfxItemSet &rSet ); + + void Execute( SfxRequest& rReq ); + void GetState( SfxItemSet &rSet ); + void ExecutePageStyle ( SfxViewShell& rCaller, SfxRequest& rReq, USHORT nCurTab ); + void GetStatePageStyle( SfxViewShell& rCaller, SfxItemSet& rSet, USHORT nCurTab ); + + void CompareDocument( ScDocument& rOtherDoc ); + void MergeDocument( ScDocument& rOtherDoc ); + + ScChangeAction* GetChangeAction( const ScAddress& rPos ); + void SetChangeComment( ScChangeAction* pAction, const String& rComment ); + void ExecuteChangeCommentDialog( ScChangeAction* pAction, Window* pParent,BOOL bPrevNext=TRUE ); + + void SetPrintZoom( USHORT nTab, USHORT nScale, USHORT nPages ); + BOOL AdjustPrintZoom( const ScRange& rRange ); + + void PageStyleModified( const String& rStyleName, BOOL bApi ); + + void NotifyStyle( const SfxStyleSheetHint& rHint ); + void DoAutoStyle( const ScRange& rRange, const String& rStyle ); + + Window* GetDialogParent(); + void ErrorMessage( USHORT nGlobStrId ); + + BOOL AdjustRowHeight( USHORT nStartRow, USHORT nEndRow, USHORT nTab ); + + void PivotUpdate( ScPivot* pOldPivot, ScPivot* pNewPivot, + BOOL bRecord = TRUE, BOOL bApi = FALSE ); + void RefreshPivotTables( const ScRange& rSource ); + void DoConsolidate( const ScConsolidateParam& rParam, BOOL bRecord = TRUE ); + void UseScenario( USHORT nTab, const String& rName, BOOL bRecord = TRUE ); + USHORT MakeScenario( USHORT nTab, const String& rName, const String& rComment, + const Color& rColor, USHORT nFlags, + ScMarkData& rMark, BOOL bRecord = TRUE ); + void ModifyScenario( USHORT nTab, const String& rName, const String& rComment, + const Color& rColor, USHORT nFlags ); + BOOL MoveTable( USHORT nSrcTab, USHORT nDestTab, BOOL bCopy, BOOL bRecord ); + + void DoRecalc( BOOL bApi ); + void DoHardRecalc( BOOL bApi ); + + void PreparePrint( PrintDialog* pPrintDialog, ScMarkData* pMarkData ); + void Print( SfxProgress& rProgress, PrintDialog* pPrintDialog, + ScMarkData* pMarkData, BOOL bForceSelected = FALSE ); + + void UpdateOle( const ScViewData* pViewData, BOOL bSnapSize = FALSE ); + BOOL IsOle(); + + void DBAreaDeleted( USHORT nTab, USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2 ); + ScDBData* GetDBData( const ScRange& rMarked, ScGetDBMode eMode, BOOL bForceMark ); + + void UpdateLinks(); // Link-Eintraege aktuallisieren + BOOL ReloadTabLinks(); // Links ausfuehren (Inhalt aktualisieren) + + void PostEditView( ScEditEngineDefaulter* pEditEngine, const ScAddress& rCursorPos ); + + void PostPaint( USHORT nStartCol, USHORT nStartRow, USHORT nStartTab, + USHORT nEndCol, USHORT nEndRow, USHORT nEndTab, USHORT nPart, + USHORT nExtFlags = 0 ); + void PostPaint( const ScRange& rRange, USHORT nPart, USHORT nExtFlags = 0 ); + + void PostPaintCell( USHORT nCol, USHORT nRow, USHORT nTab ); + void PostPaintGridAll(); + void PostPaintExtras(); + + void PostDataChanged(); + + void SetDocumentModified( BOOL bIsModified = TRUE ); + void SetDrawModified( BOOL bIsModified = TRUE ); + + void LockPaint(); + void UnlockPaint(); + USHORT GetLockCount() const; + void SetLockCount(USHORT nNew); + + DECL_LINK( ChartSelectionHdl, ChartSelectionInfo* ); + + virtual SfxStyleSheetBasePool* GetStyleSheetPool(); + + void SetInplace( BOOL bInplace ); + BOOL IsEmpty() const; + void ResetEmpty(); + + BOOL IsInUndo() const { return bIsInUndo; } + void SetInUndo(BOOL bSet); + + void CalcOutputFactor(); + double GetOutputFactor() const; + void GetPageOnFromPageStyleSet( const SfxItemSet* pStyleSet, + USHORT nCurTab, + BOOL& rbHeader, + BOOL& rbFooter ); + + virtual long DdeGetData( const String& rItem, SvData& rData ); + virtual long DdeSetData( const String& rItem, const SvData& rData ); + virtual SvPseudoObject* DdeCreateHotLink( const String& rItem ); + + const String& GetDdeTextFmt() const { return aDdeTextFmt; } + + ScTabViewShell* GetBestViewShell(); + ScSbxDocHelper* GetDocHelperObject() { return pDocHelper; } + + void SetDocumentModifiedPending( BOOL bVal ) + { bDocumentModifiedPending = bVal; } + BOOL IsDocumentModifiedPending() const + { return bDocumentModifiedPending; } + + static ScViewData* GetViewData(); + static USHORT GetCurTab(); + + static ScDocShell* GetShellByNum( USHORT nDocNo ); + static String GetOwnFilterName(); + static BOOL HasAutomaticTableName( const String& rFilter ); +}; + +SO2_DECL_REF(ScDocShell) +SO2_IMPL_REF(ScDocShell) + + +// Vor Modifizierungen des Dokuments anlegen und danach zerstoeren. +// Merkt sich im Ctor AutoCalcShellDisabled und IdleDisabled, schaltet sie ab +// und stellt sie im Dtor wieder her, AutoCalcShellDisabled ggbf. auch vor +// einem ScDocShell SetDocumentModified. +// SetDocumentModified hierdran aufrufen statt an der ScDocShell. +// Im Dtor wird wenn ScDocShell bDocumentModifiedPending gesetzt ist und +// bAutoCalcShellDisabled nicht gesetzt ist ein SetDocumentModified gerufen. +class ScDocShellModificator +{ + ScDocShell& rDocShell; + BOOL bAutoCalcShellDisabled; + BOOL bIdleDisabled; + + // not implemented + ScDocShellModificator( const ScDocShellModificator& ); + ScDocShellModificator& operator=( const ScDocShellModificator& ); + +public: + ScDocShellModificator( ScDocShell& ); + ~ScDocShellModificator(); + void SetDocumentModified(); +}; + + + +#endif + + diff --git a/sc/source/ui/inc/drawsh.hxx b/sc/source/ui/inc/drawsh.hxx new file mode 100644 index 000000000000..f026e8cbf6ed --- /dev/null +++ b/sc/source/ui/inc/drawsh.hxx @@ -0,0 +1,118 @@ +/************************************************************************* + * + * $RCSfile: drawsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DRAWSH_HXX +#define SC_DRAWSH_HXX + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#include "shellids.hxx" +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#ifndef _SVDMARK_HXX //autogen +#include <svx/svdmark.hxx> +#endif + +class ScViewData; + + +class ScDrawShell : public SfxShell +{ + ScViewData* pViewData; + +public: + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_DRAW_SHELL); + + ScDrawShell(ScViewData* pData); + ~ScDrawShell(); + + void StateDisableItems( SfxItemSet &rSet ); + + void ExecDrawAttr(SfxRequest& rReq); + void GetDrawAttrState(SfxItemSet &rSet); + void GetAttrFuncState(SfxItemSet &rSet); + + void ExecDrawFunc(SfxRequest& rReq); + void GetDrawFuncState(SfxItemSet &rSet); + void GetState(SfxItemSet &rSet); + + void ExecFormText(SfxRequest& rReq); // StarFontWork + void GetFormTextState(SfxItemSet& rSet); + + void ExecuteHLink(SfxRequest& rReq); // Hyperlink + void GetHLinkState(SfxItemSet& rSet); + + void ExecuteLineDlg( SfxRequest& rReq, USHORT nTabPage = 0xffff ); + void ExecuteAreaDlg( SfxRequest& rReq, USHORT nTabPage = 0xffff ); + void ExecuteTextAttrDlg( SfxRequest& rReq, USHORT nTabPage = 0xffff ); + + BOOL AreAllObjectsOnLayer(USHORT nLayerNo,const SdrMarkList& rMark); +}; + + + +#endif + + diff --git a/sc/source/ui/inc/drawutil.hxx b/sc/source/ui/inc/drawutil.hxx new file mode 100644 index 000000000000..45254a88ef97 --- /dev/null +++ b/sc/source/ui/inc/drawutil.hxx @@ -0,0 +1,86 @@ +/************************************************************************* + * + * $RCSfile: drawutil.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DRAWUTIL_HXX +#define SC_DRAWUTIL_HXX + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +class Fraction; +class OutputDevice; +class ScDocument; + +class ScDrawUtil +{ +public: + static void CalcScale( ScDocument* pDoc, USHORT nTab, + USHORT nStartCol, USHORT nStartRow, USHORT nEndCol, USHORT nEndRow, + OutputDevice* pDev, const Fraction& rZoomX, const Fraction& rZoomY, + double nPPTX, double nPPTY, + Fraction& rScaleX, Fraction& rScaleY ); +}; + + + +#endif + diff --git a/sc/source/ui/inc/drawview.hxx b/sc/source/ui/inc/drawview.hxx new file mode 100644 index 000000000000..b273166ecd67 --- /dev/null +++ b/sc/source/ui/inc/drawview.hxx @@ -0,0 +1,156 @@ +/************************************************************************* + * + * $RCSfile: drawview.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DRAWVIEW_HXX +#define SC_DRAWVIEW_HXX + +#ifndef _SVX_FMVIEW_HXX //autogen +#include <svx/fmview.hxx> +#endif + +#include "global.hxx" + +class ScDocument; +class ScViewData; +class SdrViewUserMarker; + +class ScDrawView: public FmFormView +{ + ScViewData* pViewData; + OutputDevice* pDev; //! noetig ? + ScDocument* pDoc; + USHORT nTab; + Fraction aScaleX; // Faktor fuer Drawing-MapMode + Fraction aScaleY; + SdrViewUserMarker* pDropMarker; + SdrObject* pDropMarkObj; + BOOL bInConstruct; + BOOL bDisableHdl; + + void Construct(); + void UpdateBrowser(); + +protected: + virtual void ModelHasChanged(); + virtual void MakeVisible( const Rectangle& rRect, Window& rWin ); + + // add custom handles (used by other apps, e.g. AnchorPos) + virtual void AddCustomHdl(); + +public: + ScDrawView( OutputDevice* pOut, ScViewData* pData ); + ScDrawView( OutputDevice* pOut, ScDocument* pDocument, USHORT nTable ); + virtual ~ScDrawView(); + + virtual void MarkListHasChanged(); + virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, + const SfxHint& rHint, const TypeId& rHintType ); + + void DrawMarks( OutputDevice* pOut ) const; + + void MarkDropObj( SdrObject* pObj ); + + BOOL IsDisableHdl() const { return bDisableHdl; } + + void SetMarkedToLayer( BYTE nLayerNo ); + + void InvalidateAttribs(); + void InvalidateDrawTextAttrs(); + + BOOL BeginDrag( Window* pWindow, const Point& rStartPos ); + void DoCut(); + void DoCopy(); + + void GetScale( Fraction& rFractX, Fraction& rFractY ) const; + void RecalcScale(); + void UpdateWorkArea(); + + void CalcNormScale( Fraction& rFractX, Fraction& rFractY ) const; + + void PaintObject( SdrObject* pObject, OutputDevice* pDev ) const; + + void SetAnchor( ScAnchorType ); + ScAnchorType GetAnchor() const; + + void VCAddWin( Window* pWin ); + void VCRemoveWin( Window* pWin ); + + void UpdateIMap( SdrObject* pObj ); + + USHORT GetPopupMenuId(); + void UpdateUserViewOptions(); + + void SetMarkedOriginalSize(); + + BOOL SelectObject( const String& rName ); + String GetSelectedChartName() const; + BOOL HasMarkedControl() const; + + FASTBOOL InsertObjectSafe(SdrObject* pObj, SdrPageView& rPV, ULONG nOptions=0); + + SdrEndTextEditKind ScEndTextEdit(); // ruft SetDrawTextUndo(0) +}; + + + + +#endif + diff --git a/sc/source/ui/inc/drformsh.hxx b/sc/source/ui/inc/drformsh.hxx new file mode 100644 index 000000000000..f62a97611032 --- /dev/null +++ b/sc/source/ui/inc/drformsh.hxx @@ -0,0 +1,96 @@ +/************************************************************************* + * + * $RCSfile: drformsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef DRFORMSH_HXX +#define DRFORMSH_HXX + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#include "shellids.hxx" +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#ifndef _SVDMARK_HXX //autogen +#include <svx/svdmark.hxx> +#endif + +class ScViewData; + + +#include "drawsh.hxx" + +class ScDrawFormShell: public ScDrawShell +{ +public: + + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_FORM_SHELL); + + ScDrawFormShell(ScViewData* pData); + virtual ~ScDrawFormShell(); + +// void Execute(SfxRequest &); +// void GetState(SfxItemSet &); +}; + +#endif diff --git a/sc/source/ui/inc/drtxtob.hxx b/sc/source/ui/inc/drtxtob.hxx new file mode 100644 index 000000000000..913e253d4898 --- /dev/null +++ b/sc/source/ui/inc/drtxtob.hxx @@ -0,0 +1,120 @@ +/************************************************************************* + * + * $RCSfile: drtxtob.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_DRTXTOB_HXX +#define SC_DRTXTOB_HXX + +#ifndef _SFX_HXX +#endif + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#include "shellids.hxx" + +USHORT ScGetFontWorkId(); // statt SvxFontWorkChildWindow::GetChildWindowId() + +class ScViewData; + +class ScDrawTextObjectBar : public SfxShell +{ + ScViewData* pViewData; + +public: + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_DRAW_TEXT_SHELL); + + ScDrawTextObjectBar(ScViewData* pData); + ~ScDrawTextObjectBar(); + + void StateDisableItems( SfxItemSet &rSet ); + + void Execute( SfxRequest &rReq ); + void GetState( SfxItemSet& rSet ); + void GetClipState( SfxItemSet& rSet ); + + void ExecuteAttr( SfxRequest &rReq ); + void GetAttrState( SfxItemSet& rSet ); + void ExecuteToggle( SfxRequest &rReq ); + + BOOL ExecuteCharDlg( const SfxItemSet& rArgs, SfxItemSet& rOutSet ); + BOOL ExecuteParaDlg( const SfxItemSet& rArgs, SfxItemSet& rOutSet ); + + void ExecuteExtra( SfxRequest &rReq ); + void ExecFormText(SfxRequest& rReq); // StarFontWork + void GetFormTextState(SfxItemSet& rSet); + +private: + void ExecuteGlobal( SfxRequest &rReq ); // von Execute gerufen fuer ganze Objekte + void GetGlobalClipState( SfxItemSet& rSet ); + void ExecutePasteContents( SfxRequest &rReq ); + BOOL HasPasteContents(); + BOOL IsNoteEdit(); +}; + + + +#endif + diff --git a/sc/source/ui/inc/dwfunctr.hxx b/sc/source/ui/inc/dwfunctr.hxx new file mode 100644 index 000000000000..2553e571ab10 --- /dev/null +++ b/sc/source/ui/inc/dwfunctr.hxx @@ -0,0 +1,214 @@ +/************************************************************************* + * + * $RCSfile: dwfunctr.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SC_DWFUNCTR_HXX +#define _SC_DWFUNCTR_HXX + +#ifndef _SFX_CHILDWIN_HXX //autogen +#include <sfx2/childwin.hxx> +#endif + +#ifndef _SFXDOCKWIN_HXX //autogen +#include <sfx2/dockwin.hxx> +#endif + +#ifndef _SFXLSTNER_HXX //autogen +#include <svtools/lstner.hxx> +#endif + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _IMAGEBTN_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +#ifndef SC_FUNCUTL_HXX +#include "funcutl.hxx" +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" // ScAddress +#endif + +#ifndef SC_PRIVSPLT_HXX +#include "privsplt.hxx" +#endif + +#ifndef LRU_MAX +#define LRU_MAX 10 +#endif +/************************************************************************* +|* +|* Ableitung vom SfxChildWindow als "Behaelter" fuer Controller +|* +\************************************************************************/ + +class ScFunctionChildWindow : public SfxChildWindow +{ + public: + ScFunctionChildWindow( Window*, USHORT, SfxBindings*, + SfxChildWinInfo* ); + + SFX_DECL_CHILDWINDOW(ScFunctionChildWindow); +}; + +/************************************************************************* +|* +|* ScFuncDockWin +|* +\************************************************************************/ + +class ScFunctionDockWin : public SfxDockingWindow, public SfxListener +{ + +private: + Timer aTimer; + ScPrivatSplit aPrivatSplit; + ListBox aCatBox; + ListBox aFuncList; + ListBox aDDFuncList; + ListBox* pAllFuncList; + + SfxChildAlignment eSfxNewAlignment; + SfxChildAlignment eSfxOldAlignment; + ImageButton aInsertButton; + FixedText aFiFuncDesc; + USHORT nLeftSlot; + USHORT nRightSlot; + ULONG nMinWidth; + ULONG nMinHeight; + Size aOldSize; + BOOL bSizeFlag; + BOOL bInit; + short nDockMode; + Point aSplitterInitPos; + ScFuncDesc* pFuncDesc; + USHORT nArgs; + String** pArgArr; + + + ScFuncDesc* aLRUList[LRU_MAX]; + + void UpdateFunctionList(); + void UpdateLRUList(); + void DoEnter(BOOL bOk); //@@ ??? + void SetDescription(); + void SetLeftRightSize(); + void SetTopBottonSize(); + void SetMyWidthLeRi(Size &aNewSize); + void SetMyHeightLeRi(Size &aNewSize); + void SetMyWidthToBo(Size &aNewSize); + void SetMyHeightToBo(Size &aNewSize); + + DECL_LINK( SetSelectionHdl, void* ); + DECL_LINK( SelHdl, ListBox* ); + DECL_LINK(SetSplitHdl,ScPrivatSplit*); + DECL_LINK( TimerHdl, Timer*); + +protected: + + virtual BOOL Close(); + virtual void Resize(); + virtual void Resizing( Size& rSize ); + virtual void SetSize(); + virtual void ToggleFloatingMode(); + virtual void StateChanged( StateChangedType nStateChange ); + + + virtual SfxChildAlignment CheckAlignment(SfxChildAlignment, + SfxChildAlignment eAlign); + +public: + ScFunctionDockWin( SfxBindings* pBindings, + SfxChildWindow *pCW, + Window* pParent, + const ResId& rResId ); + + ~ScFunctionDockWin(); + + virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, + const SfxHint& rHint, const TypeId& rHintType ); + + void SetSlotIDs( USHORT nLeft, USHORT nRight ) + { nLeftSlot = nLeft; nRightSlot = nRight; } + + void InitLRUList(); + + void Initialize (SfxChildWinInfo* pInfo); + virtual void FillInfo(SfxChildWinInfo&) const; +}; + +#endif + + diff --git a/sc/source/ui/inc/editsh.hxx b/sc/source/ui/inc/editsh.hxx new file mode 100644 index 000000000000..ea646925f09f --- /dev/null +++ b/sc/source/ui/inc/editsh.hxx @@ -0,0 +1,109 @@ +/************************************************************************* + * + * $RCSfile: editsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_EDITSH_HXX +#define SC_EDITSH_HXX + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#include "shellids.hxx" + +class EditView; +class ScViewData; +class SvxURLField; + +class ScEditShell : public SfxShell +{ +private: + EditView* pEditView; + ScViewData* pViewData; + BOOL bIsInsertMode; + + const SvxURLField* GetURLField(); + +public: + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_EDIT_SHELL); + + ScEditShell(EditView* pView, ScViewData* pData); + ~ScEditShell(); + + void SetEditView(EditView* pView); + + void Execute(SfxRequest& rReq); + void GetState(SfxItemSet &rSet); + void GetClipState(SfxItemSet& rSet); + + void ExecuteAttr(SfxRequest& rReq); + void GetAttrState(SfxItemSet &rSet); + + String GetSelectionText( BOOL bWholeWord ); +}; + + + +#endif + diff --git a/sc/source/ui/inc/expftext.hxx b/sc/source/ui/inc/expftext.hxx new file mode 100644 index 000000000000..b0b25cd0f273 --- /dev/null +++ b/sc/source/ui/inc/expftext.hxx @@ -0,0 +1,82 @@ +/************************************************************************* + * + * $RCSfile: expftext.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SC_EXPFTEXT_HXX +#define _SC_EXPFTEXT_HXX + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +class ScExpandedFixedText: public FixedText +{ + protected: + + void RequestHelp( const HelpEvent& rHEvt ); + + public: + + ScExpandedFixedText( Window* pParent,WinBits nWinStyle = 0); + ScExpandedFixedText( Window* pWindow, const ResId& rResId); +}; + + +#endif diff --git a/sc/source/ui/inc/fieldwnd.hxx b/sc/source/ui/inc/fieldwnd.hxx new file mode 100644 index 000000000000..d7fe6c07eb1f --- /dev/null +++ b/sc/source/ui/inc/fieldwnd.hxx @@ -0,0 +1,131 @@ +/************************************************************************* + * + * $RCSfile: fieldwnd.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FIELDWND_HXX +#define SC_FIELDWND_HXX + + +#ifndef _SV_WINDOW_HXX //autogen +#include <vcl/window.hxx> +#endif + + +#define MAX_LABELS 256 +#define PAGE_SIZE 16 +#define LINE_SIZE 8 +#define MAX_FIELDS 8 +#define EMPTY_SLOT 0xffff + +#define OWIDTH PivotGlobal::nObjWidth +#define OHEIGHT PivotGlobal::nObjHeight +#define SSPACE PivotGlobal::nSelSpace + +//=================================================================== + +enum FieldType +{ + TYPE_ROW, TYPE_COL, TYPE_DATA, TYPE_SELECT +}; + +//------------------------------------------------------------------- +class ScPivotLayoutDlg; + +class FieldWindow : public Window +{ +public: + FieldWindow( ScPivotLayoutDlg* pDialog, const ResId& rResId, + FieldType eType ); + ~FieldWindow(); + + BOOL AddField ( const String& rStr, const Point& rAt, USHORT& rAddedAt ); + void AddField ( const String& rStr, USHORT nIndex ); + void DelField ( USHORT nFieldIndex ); + void ClearFields (); + void Redraw (); + void SetText ( const String& rStr, USHORT nIndex ); + BOOL GetInsertIndex ( const Point& rInsertPos, USHORT& rIndex ); + +protected: + virtual void Paint( const Rectangle& rRect ); + virtual void MouseButtonDown ( const MouseEvent& rMEvt ); + virtual void MouseButtonUp ( const MouseEvent& rMEvt ); + virtual void MouseMove ( const MouseEvent& rMEvt ); + +private: + ScPivotLayoutDlg* pDlg; + Rectangle aWndRect; + FieldType eFieldType; + Point aCenterPos; + String** aFieldArr; + USHORT nFieldSize; + USHORT nFieldCount; + +private: + void DoPaint ( const Rectangle& rRect ); + void DrawField ( OutputDevice& rDev, + const Rectangle& rRect, + const String& rStr ); + BOOL GetFieldIndex ( const Point& rPos, USHORT& rIndex ); + BOOL GetFirstEmptySlot ( USHORT& rIndex ); +}; + + +#endif // SC_FIELDWND_HXX diff --git a/sc/source/ui/inc/filldlg.hxx b/sc/source/ui/inc/filldlg.hxx new file mode 100644 index 000000000000..01a8ccb860ee --- /dev/null +++ b/sc/source/ui/inc/filldlg.hxx @@ -0,0 +1,181 @@ +/************************************************************************* + * + * $RCSfile: filldlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FILLDLG_HXX +#define SC_FILLDLG_HXX + +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +class ScDocument; + +//---------------------------------------------------------------------------- + +#define FDS_OPT_NONE 0 +#define FDS_OPT_HORZ 1 +#define FDS_OPT_VERT 2 + +//============================================================================ + +class ScFillSeriesDlg : public ModalDialog +{ +public: + ScFillSeriesDlg( Window* pParent, + ScDocument& rDocument, + FillDir eFillDir, + FillCmd eFillCmd, + FillDateCmd eFillDateCmd, + String aStartStr, + double fStep, + double fMax, + USHORT nPossDir ); + ~ScFillSeriesDlg(); + + FillDir GetFillDir() const { return theFillDir; } + FillCmd GetFillCmd() const { return theFillCmd; } + FillDateCmd GetFillDateCmd() const { return theFillDateCmd; } + double GetStart() const { return fStartVal; } + double GetStep() const { return fIncrement; } + double GetMax() const { return fEndVal; } + + String GetStartStr() const { return aEdStartVal.GetText(); } + + void SetEdStartValEnabled(BOOL bFlag=FALSE); + +private: + RadioButton aBtnDown; + RadioButton aBtnRight; + RadioButton aBtnUp; + RadioButton aBtnLeft; + GroupBox aGbDirection; + + RadioButton aBtnArithmetic; + RadioButton aBtnGeometric; + RadioButton aBtnDate; + RadioButton aBtnAutoFill; + GroupBox aGbType; + + RadioButton aBtnDay; + RadioButton aBtnDayOfWeek; + RadioButton aBtnMonth; + RadioButton aBtnYear; + GroupBox aGbTimeUnit; + + BOOL bStartValFlag; + FixedText aFtStartVal; + Edit aEdStartVal; + String aStartStrVal; + + FixedText aFtEndVal; + Edit aEdEndVal; + + FixedText aFtIncrement; + Edit aEdIncrement; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + const String errMsgInvalidVal; + + //---------------------------------------------------------- + + ScDocument& rDoc; + FillDir theFillDir; + FillCmd theFillCmd; + FillDateCmd theFillDateCmd; + double fStartVal; + double fIncrement; + double fEndVal; + +#ifdef _FILLDLG_CXX +private: + void Init( USHORT nPossDir ); + BOOL CheckStartVal(); + BOOL CheckIncrementVal(); + BOOL CheckEndVal(); + + DECL_LINK( OKHdl, void * ); + DECL_LINK( DisableHdl, Button * ); +#endif +}; + + + +#endif // SC_FILLDLG_HXX + diff --git a/sc/source/ui/inc/filtdlg.hxx b/sc/source/ui/inc/filtdlg.hxx new file mode 100644 index 000000000000..39cbc64e5291 --- /dev/null +++ b/sc/source/ui/inc/filtdlg.hxx @@ -0,0 +1,293 @@ +/************************************************************************* + * + * $RCSfile: filtdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FILTDLG_HXX +#define SC_FILTDLG_HXX + +#ifndef VCL +#endif + +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" // -> ScQueryParam +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + + +//---------------------------------------------------------------------------- + +class ScFilterOptionsMgr; +class ScRangeData; +class ScViewData; +class ScDocument; +class ScQueryItem; +class TypedStrCollection; + +//================================================================== +// Gemeinsame Resource-Objekte: + +#define _COMMON_FILTER_RSCOBJS \ + CheckBox aBtnCase; \ + CheckBox aBtnRegExp; \ + CheckBox aBtnHeader; \ + CheckBox aBtnUnique; \ + CheckBox aBtnCopyResult; \ + ListBox aLbCopyArea; \ + ScRefEdit aEdCopyArea; \ + ScRefButton aRbCopyArea; \ + CheckBox aBtnDestPers; \ + FixedText aFtDbAreaLabel; \ + FixedInfo aFtDbArea; \ + GroupBox aGbOptions; \ + OKButton aBtnOk; \ + CancelButton aBtnCancel; \ + HelpButton aBtnHelp; \ + MoreButton aBtnMore; \ + const String aStrUndefined; \ + const String aStrNoName; \ + const String aStrNone; + + +#define _INIT_COMMON_FILTER_RSCOBJS \ + aBtnCase ( this, ScResId( BTN_CASE ) ), \ + aBtnRegExp ( this, ScResId( BTN_REGEXP ) ), \ + aBtnHeader ( this, ScResId( BTN_HEADER ) ), \ + aBtnUnique ( this, ScResId( BTN_UNIQUE ) ), \ + aBtnCopyResult ( this, ScResId( BTN_COPY_RESULT ) ), \ + aLbCopyArea ( this, ScResId( LB_COPY_AREA ) ), \ + aEdCopyArea ( this, ScResId( ED_COPY_AREA ) ), \ + aRbCopyArea ( this, ScResId( RB_COPY_AREA ), &aEdCopyArea ), \ + aBtnDestPers ( this, ScResId( BTN_DEST_PERS ) ), \ + aFtDbAreaLabel ( this, ScResId( FT_DBAREA_LABEL ) ), \ + aFtDbArea ( this, ScResId( FT_DBAREA ) ), \ + aGbOptions ( this, ScResId( GB_OPTIONS ) ), \ + aBtnOk ( this, ScResId( BTN_OK ) ), \ + aBtnCancel ( this, ScResId( BTN_CANCEL ) ), \ + aBtnHelp ( this, ScResId( BTN_HELP ) ), \ + aBtnMore ( this, ScResId( BTN_MORE ) ), \ + aStrNoName ( ScGlobal::GetRscString(STR_DB_NONAME) ), \ + aStrNone ( ScResId( SCSTR_NONE ) ), \ + aStrUndefined ( ScResId( SCSTR_UNDEFINED ) ), + + +//============================================================================ +class ScFilterDlg : public ScAnyRefDlg +{ +public: + ScFilterDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + const SfxItemSet& rArgSet ); + ~ScFilterDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + + virtual BOOL IsRefInputMode() const; + virtual void SetActive(); + + virtual BOOL Close(); + +private: + ListBox aLbField1; + ListBox aLbCond1; + ComboBox aEdVal1; + //---------------------------- + ListBox aLbConnect1; + ListBox aLbField2; + ListBox aLbCond2; + ComboBox aEdVal2; + //---------------------------- + ListBox aLbConnect2; + ListBox aLbField3; + ListBox aLbCond3; + ComboBox aEdVal3; + //---------------------------- + FixedText aFtConnect; + FixedText aFtField; + FixedText aFtCond; + FixedText aFtVal; + GroupBox aGbCriteria; + + _COMMON_FILTER_RSCOBJS + + const String aStrEmpty; + const String aStrNotEmpty; + const String aStrRow; + const String aStrColumn; + + ScFilterOptionsMgr* pOptionsMgr; + + const USHORT nWhichQuery; + const ScQueryParam theQueryData; + ScQueryItem* pOutItem; + ScViewData* pViewData; + ScDocument* pDoc; + USHORT nSrcTab; + + ComboBox* aValueEdArr[3]; + ListBox* aFieldLbArr[3]; + ListBox* aCondLbArr[3]; + USHORT nFieldCount; + BOOL bRefInputMode; + + TypedStrCollection* pEntryLists[MAXCOL+1]; + USHORT nHeaderPos[MAXCOL+1]; + + // Hack: RefInput-Kontrolle + Timer* pTimer; + +#ifdef _FILTDLG_CXX +private: + void Init ( const SfxItemSet& rArgSet ); + void FillFieldLists (); + void FillAreaList (); + void UpdateValueList ( USHORT nList ); + void UpdateHdrInValueList( USHORT nList ); + void ClearValueList ( USHORT nList ); + USHORT GetFieldSelPos ( USHORT nField ); + ScQueryItem* GetOutputItem (); + + // Handler: + DECL_LINK( LbSelectHdl, ListBox* ); + DECL_LINK( ValModifyHdl, ComboBox* ); + DECL_LINK( CheckBoxHdl, CheckBox* ); + DECL_LINK( EndDlgHdl, Button* ); + DECL_LINK( MoreClickHdl, MoreButton* ); + + // Hack: RefInput-Kontrolle + DECL_LINK( TimeOutHdl, Timer* ); +#endif +}; + + +//============================================================================ +class ScSpecialFilterDlg : public ScAnyRefDlg +{ +public: + ScSpecialFilterDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + const SfxItemSet& rArgSet ); + ~ScSpecialFilterDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + + virtual BOOL IsRefInputMode() const; + virtual void SetActive(); + + virtual BOOL Close(); + +private: + ListBox aLbFilterArea; + FixedText aFtFilterArea; + ScRefEdit aEdFilterArea; + ScRefButton aRbFilterArea; + + _COMMON_FILTER_RSCOBJS + + ScFilterOptionsMgr* pOptionsMgr; + + const USHORT nWhichQuery; + const ScQueryParam theQueryData; + ScQueryItem* pOutItem; + ScViewData* pViewData; + ScDocument* pDoc; + + ScRefEdit* pRefInputEdit; + BOOL bRefInputMode; + + // Hack: RefInput-Kontrolle + Timer* pTimer; + +#ifdef _SFILTDLG_CXX +private: + void Init( const SfxItemSet& rArgSet ); + ScQueryItem* GetOutputItem( const ScQueryParam& rParam, + const ScRange& rSource ); + + // Handler + DECL_LINK( FilterAreaSelHdl, ListBox* ); + DECL_LINK( FilterAreaModHdl, ScRefEdit* ); + DECL_LINK( EndDlgHdl, Button* ); + + // Hack: RefInput-Kontrolle + DECL_LINK( TimeOutHdl, Timer* ); +#endif +}; + + + +#endif // SC_FILTDLG_HXX + diff --git a/sc/source/ui/inc/filter.hrc b/sc/source/ui/inc/filter.hrc new file mode 100644 index 000000000000..020d67168951 --- /dev/null +++ b/sc/source/ui/inc/filter.hrc @@ -0,0 +1,109 @@ +/************************************************************************* + * + * $RCSfile: filter.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#include "sc.hrc" // -> RID_SCDLG_FILTER + // -> RID_SCDLG_SPEC_FILTER + // -> RID_SCDLG_PIVOTFILTER + +// allgemein + +#define BTN_OK 1 +#define BTN_CANCEL 1 +#define BTN_HELP 1 +#define BTN_MORE 1 + +#define BTN_UNIQUE 1 +#define BTN_CASE 2 +#define BTN_REGEXP 3 +#define BTN_HEADER 4 +#define BTN_COPY_RESULT 5 +#define LB_COPY_AREA 6 +#define ED_COPY_AREA 7 +#define RB_COPY_AREA 8 +#define GB_OPTIONS 9 +#define FT_DBAREA_LABEL 10 +#define FT_DBAREA 11 +#define BTN_DEST_PERS 12 + +// Filter: +#define FT_OP 20 +#define FT_FIELD 21 +#define FT_COND 22 +#define FT_VAL 23 +#define LB_FIELD1 24 +#define LB_FIELD2 25 +#define LB_FIELD3 26 +#define LB_OP1 27 +#define LB_OP2 28 +#define LB_COND1 29 +#define LB_COND2 30 +#define LB_COND3 31 +#define ED_VAL1 32 +#define ED_VAL2 33 +#define ED_VAL3 34 +#define GB_CRITERIA 35 + +// Spezialfilter + +#define FT_CRITERIA_AREA 50 +#define LB_CRITERIA_AREA 51 +#define ED_CRITERIA_AREA 52 +#define RB_CRITERIA_AREA 53 + diff --git a/sc/source/ui/inc/foptmgr.hxx b/sc/source/ui/inc/foptmgr.hxx new file mode 100644 index 000000000000..99d47d83d097 --- /dev/null +++ b/sc/source/ui/inc/foptmgr.hxx @@ -0,0 +1,155 @@ +/************************************************************************* + * + * $RCSfile: foptmgr.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FOPTMGR_HXX +#define SC_FOPTMGR_HXX + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +//---------------------------------------------------------------------------- + +class FixedInfo; +class ScRefButton; +class MoreButton; +class Dialog; +struct ScQueryParam; +class ScDocument; +class ScViewData; + +//---------------------------------------------------------------------------- + +class ScFilterOptionsMgr +{ +public: + ScFilterOptionsMgr( Dialog* ptrDlg, + ScViewData* ptrViewData, + const ScQueryParam& refQueryData, + MoreButton& refBtnMore, + CheckBox& refBtnCase, + CheckBox& refBtnRegExp, + CheckBox& refBtnHeader, + CheckBox& refBtnUnique, + CheckBox& refBtnCopyResult, + CheckBox& refBtnDestPers, + ListBox& refLbCopyArea, + Edit& refEdCopyArea, + ScRefButton& refRbCopyArea, + FixedText& refFtDbAreaLabel, + FixedInfo& refFtDbArea, + GroupBox& refGbOptions, + const String& refStrNoName, + const String& refStrUndefined ); + ~ScFilterOptionsMgr(); + + BOOL VerifyPosStr ( const String& rPosStr ) const; + +private: + Dialog* pDlg; + ScViewData* pViewData; + ScDocument* pDoc; + + MoreButton& rBtnMore; + CheckBox& rBtnCase; + CheckBox& rBtnRegExp; + CheckBox& rBtnHeader; + CheckBox& rBtnUnique; + CheckBox& rBtnCopyResult; + CheckBox& rBtnDestPers; + ListBox& rLbCopyPos; + Edit& rEdCopyPos; + ScRefButton& rRbCopyPos; + FixedText& rFtDbAreaLabel; + FixedInfo& rFtDbArea; + GroupBox& rGbOptions; + + const String& rStrNoName; + const String& rStrUndefined; + + const ScQueryParam& rQueryData; + +#ifdef _FOPTMGR_CXX +private: + void Init(); + + // Handler: + DECL_LINK( EdPosModifyHdl, Edit* ); + DECL_LINK( LbPosSelHdl, ListBox* ); + DECL_LINK( BtnCopyResultHdl, CheckBox* ); +#endif +}; + + + +#endif // SC_FOPTMGR_HXX diff --git a/sc/source/ui/inc/formatsh.hxx b/sc/source/ui/inc/formatsh.hxx new file mode 100644 index 000000000000..3a84750155ec --- /dev/null +++ b/sc/source/ui/inc/formatsh.hxx @@ -0,0 +1,116 @@ +/************************************************************************* + * + * $RCSfile: formatsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FORMATSH_HXX +#define SC_FORMATSH_HXX + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#include "shellids.hxx" +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#ifndef _SVDMARK_HXX //autogen +#include <svx/svdmark.hxx> +#endif + +class ScViewData; + +class ScFormatShell: public SfxShell +{ + ScViewData* pViewData; + +protected: + + ScViewData* GetViewData(){return pViewData;} + +public: + + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_FORMAT_SHELL); + + ScFormatShell(ScViewData* pData); + virtual ~ScFormatShell(); + + void ExecuteNumFormat( SfxRequest& rReq ); + void GetNumFormatState( SfxItemSet& rSet ); + + void ExecuteAttr( SfxRequest& rReq ); + void GetAttrState( SfxItemSet& rSet ); + + void ExecuteAlignment( SfxRequest& rReq ); + + void ExecuteTextAttr( SfxRequest& rReq ); + void GetTextAttrState( SfxItemSet& rSet ); + + void GetAlignState( SfxItemSet& rSet ); + void GetBorderState( SfxItemSet& rSet ); + + void ExecuteStyle( SfxRequest& rReq ); + void GetStyleState( SfxItemSet& rSet ); + + void ExecBckCol( SfxRequest& rReq ); + void GetBckColState( SfxItemSet& rSet ); +}; + +#endif diff --git a/sc/source/ui/inc/formdata.hxx b/sc/source/ui/inc/formdata.hxx new file mode 100644 index 000000000000..64b5a8e37453 --- /dev/null +++ b/sc/source/ui/inc/formdata.hxx @@ -0,0 +1,139 @@ +/************************************************************************* + * + * $RCSfile: formdata.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FORMDATA_HXX +#define SC_FORMDATA_HXX + +#ifndef _STRING_HXX //autogen +#include <tools/string.hxx> +#endif + +#ifndef _SV_GEN_HXX //autogen +#include <tools/gen.hxx> +#endif + +class ScInputHandler; +class ScDocShell; + +//============================================================================ + +class ScFormEditData +{ +public: + ScFormEditData(); + ~ScFormEditData(); + + void SaveValues(); + void RestoreValues(); + BOOL HasParent() const { return pParent != NULL; } + + USHORT GetMode() const { return nMode; } + xub_StrLen GetFStart() const { return nFStart; } + USHORT GetCatSel() const { return nCatSel; } + USHORT GetFuncSel() const { return nFuncSel; } + USHORT GetOffset() const { return nOffset; } + USHORT GetEdFocus() const { return nEdFocus; } + const String& GetUndoStr() const { return aUndoStr; } + BOOL GetMatrixFlag()const{ return bMatrix;} + ULONG GetUniqueId()const { return nUniqueId;} + const Selection& GetSelection()const { return aSelection;} + ScInputHandler* GetInputHandler() { return pInputHandler;} + ScDocShell* GetDocShell() { return pScDocShell;} + + void SetMode( USHORT nNew ) { nMode = nNew; } + void SetFStart( xub_StrLen nNew ) { nFStart = nNew; } + void SetCatSel( USHORT nNew ) { nCatSel = nNew; } + void SetFuncSel( USHORT nNew ) { nFuncSel = nNew; } + void SetOffset( USHORT nNew ) { nOffset = nNew; } + void SetEdFocus( USHORT nNew ) { nEdFocus = nNew; } + void SetUndoStr( const String& rNew ) { aUndoStr = rNew; } + void SetMatrixFlag(BOOL bNew) { bMatrix=bNew;} + void SetUniqueId(ULONG nNew) { nUniqueId=nNew;} + void SetSelection(const Selection& aSel) { aSelection=aSel;} + void SetInputHandler(ScInputHandler* pHdl) { pInputHandler=pHdl;} + void SetDocShell(ScDocShell* pSds) { pScDocShell=pSds;} + + + +private: + ScFormEditData( const ScFormEditData& ); + const ScFormEditData& operator=( const ScFormEditData& r ); + void Reset(); + + ScFormEditData* pParent; // fuer Verschachtelung + USHORT nMode; // enum ScFormulaDlgMode + xub_StrLen nFStart; + USHORT nCatSel; + USHORT nFuncSel; + USHORT nOffset; + USHORT nEdFocus; + String aUndoStr; + BOOL bMatrix; + ULONG nUniqueId; + Selection aSelection; + ScInputHandler* pInputHandler; + ScDocShell* pScDocShell; +}; + + + +#endif // SC_CRNRDLG_HXX + diff --git a/sc/source/ui/inc/formula.hxx b/sc/source/ui/inc/formula.hxx new file mode 100644 index 000000000000..a258eecf0c4d --- /dev/null +++ b/sc/source/ui/inc/formula.hxx @@ -0,0 +1,294 @@ +/************************************************************************* + * + * $RCSfile: formula.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FORMULA_HXX +#define SC_FORMULA_HXX + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +#ifndef SC_FUNCUTL_HXX +#include "funcutl.hxx" +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" // ScAddress +#endif + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _SVEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + +#ifndef _SV_TABPAGE_HXX //autogen +#include <vcl/tabpage.hxx> +#endif + +#ifndef _SVSTDARR_STRINGS + +#define _SVSTDARR_STRINGS +#include <svtools/svstdarr.hxx> + +#endif + +#ifndef _SV_TABCTRL_HXX //autogen +#include <vcl/tabctrl.hxx> +#endif + +#ifndef SC_PARAWIN_HXX +#include "parawin.hxx" +#endif + +#ifndef _SVTREEBOX_HXX //autogen +#include <svtools/svtreebx.hxx> +#endif + +#ifndef SC_COMPILER_HXX +#include "compiler.hxx" +#endif + +#ifndef SC_CELL_HXX +#include "cell.hxx" +#endif + +#ifndef SC_FUNCPAGE_HXX +#include "funcpage.hxx" +#endif + +#ifndef SC_STRUCTPG_HXX +#include "structpg.hxx" +#endif + +class ScViewData; +class ScDocument; +class ScFuncDesc; +class ScInputHandler; +class ScDocShell; + +//============================================================================ + +enum ScFormulaDlgMode { SC_FORMDLG_FORMULA, SC_FORMDLG_ARGS, SC_FORMDLG_EDIT }; + +//============================================================================ + +typedef ScTabViewShell* PtrTabViewShell; + +//============================================================================ + +//============================================================================ + +class ScFormulaDlg : public ScAnyRefDlg +{ +public: + ScFormulaDlg( SfxBindings* pB, SfxChildWindow* pCW, + Window* pParent, ScViewData* pViewData ); + ~ScFormulaDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pRefDoc ); + virtual BOOL IsRefInputMode() const; + virtual BOOL IsDocAllowed(SfxObjectShell* pDocSh) const; + virtual void SetActive(); + virtual BOOL Close(); + +private: + + TabControl aTabCtrl; + GroupBox aGbEdit; //! MUST be placed before aScParaWin for initializing + ScParaWin aScParaWin; + FixedText aFtHeadLine; + FixedInfo aFtFuncName; + FixedInfo aFtFuncDesc; + + FixedText aFtEditName; + //FixedInfo aFtEditDesc; + + FixedText aFtResult; + ValWnd aWndResult; + + FixedText aFtFormula; + ScEditBox aMEFormula; + + CheckBox aBtnMatrix; + HelpButton aBtnHelp; + CancelButton aBtnCancel; + + PushButton aBtnBackward; + PushButton aBtnForward; + OKButton aBtnEnd; + + ScRefEdit aEdRef; + ScRefButton aRefBtn; + + FixedText aFtFormResult; + ValWnd aWndFormResult; + + ScRefEdit* pTheRefEdit; + ScRefButton* pTheRefButton; + ScFuncPage* pScFuncPage; + ScStructPage* pScStructPage; + ScFormulaCell* pCell; + ScCompiler* pComp; + ScTokenArray* pScTokA; + String aOldFormula; + BOOL bStructUpdate; + MultiLineEdit* pMEdit; + BOOL bUserMatrixFlag; + Timer aTimer; + + const String aTitle1; + const String aTitle2; + const String aTxtEnd; + const String aTxtOk; // hinter aBtnEnd + + ULONG nOldHelp; + ULONG nOldUnique; + ULONG nActivWinId; + BOOL bIsShutDown; + + + + Font aFntBold; + Font aFntLight; + USHORT nEdFocus; + Selection theCurSel; + BOOL bEditFlag; + ScFuncDesc* pFuncDesc; + USHORT nArgs; + String** pArgArr; + Selection aFuncSel; + + static ScDocument* pDoc; + static ScAddress aCursorPos; + +protected: + + virtual long PreNotify( NotifyEvent& rNEvt ); + virtual void RefInputStart( ScRefEdit* pEdit, ScRefButton* pButton = NULL ); + virtual void RefInputDone( BOOL bForced = FALSE ); + ULONG FindFocusWin(Window *pWin); + void SetFocusWin(Window *pWin,ULONG nUniqueId); + String RepairFormula(const String& aFormula); + void SaveLRUEntry(ScFuncDesc* pFuncDesc); + void HighlightFunctionParas(const String& aFormula); + +private: + + BOOL IsInputHdl(ScInputHandler* pHdl); + ScInputHandler* GetNextInputHandler(ScDocShell* pDocShell,PtrTabViewShell* ppViewSh=NULL); + + void MakeTree(SvLBoxEntry* pParent,ScToken* pScToken,long Count, + ScTokenArray* pScTokA,ScCompiler* pComp); + + void ClearAllParas(); + void DeleteArgs(); + void FillDialog(BOOL nFlag=TRUE); + void EditNextFunc( BOOL bForward, xub_StrLen nFStart=NOT_FOUND ); + void EditThisFunc(xub_StrLen nFStart); + void EditFuncParas(xub_StrLen nEditPos); + + + void UpdateArgInput( USHORT nOffset, USHORT nInput ); + BOOL CalcValue( const String& rStrExp, String& rStrResult ); + BOOL CalcStruct( const String& rStrExp); + + void UpdateValues(); + void SaveArg( USHORT nEd ); + void UpdateSelection(); + void DoEnter( BOOL bOk ); + void UpdateFunctionDesc(); + void ResizeArgArr( ScFuncDesc* pNewFunc ); + void FillListboxes(); + void FillControls(); + + xub_StrLen GetFunctionPos(xub_StrLen nPos); + void UpdateTokenArray( const String& rStrExp); + + DECL_LINK( ScrollHdl, ScParaWin* ); + DECL_LINK( ModifyHdl, ScParaWin* ); + DECL_LINK( FxHdl, ScParaWin* ); + + DECL_LINK( MatrixHdl, CheckBox *); + DECL_LINK( FormulaHdl, MultiLineEdit* ); + DECL_LINK( FormulaCursorHdl, ScEditBox*); + DECL_LINK( BtnHdl, PushButton* ); + DECL_LINK( GetEdFocusHdl, ArgInput* ); + DECL_LINK( GetFxFocusHdl, ArgInput* ); + DECL_LINK( DblClkHdl, ScFuncPage* ); + DECL_LINK( FuncSelHdl, ScFuncPage*); + DECL_LINK( StructSelHdl, ScStructPage * ); + DECL_LINK( UpdateFocusHdl, Timer*); +}; + + + +#endif // SC_CRNRDLG_HXX + diff --git a/sc/source/ui/inc/fuconarc.hxx b/sc/source/ui/inc/fuconarc.hxx new file mode 100644 index 000000000000..4ed8175076e8 --- /dev/null +++ b/sc/source/ui/inc/fuconarc.hxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * $RCSfile: fuconarc.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUCONARC_HXX +#define SC_FUCONARC_HXX + +#ifndef _SV_HXX +#endif + +#ifndef SC_FUCONSTR_HXX +#include "fuconstr.hxx" +#endif + + +/************************************************************************* +|* +|* Rechteck zeichnen +|* +\************************************************************************/ + +class FuConstArc : public FuConstruct +{ + public: + FuConstArc( ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + + virtual ~FuConstArc(); + // Mouse- & Key-Events + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + + + +#endif // _SD_FUCONARC_HXX + diff --git a/sc/source/ui/inc/fuconpol.hxx b/sc/source/ui/inc/fuconpol.hxx new file mode 100644 index 000000000000..07aff64055b1 --- /dev/null +++ b/sc/source/ui/inc/fuconpol.hxx @@ -0,0 +1,101 @@ +/************************************************************************* + * + * $RCSfile: fuconpol.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUCONPOL_HXX +#define SC_FUCONPOL_HXX + +#ifndef _SV_HXX +#endif + +#ifndef SC_FUCONSTR_HXX +#include "fuconstr.hxx" +#endif + + + +/************************************************************************* +|* +|* Basisklasse fuer alle Funktionen +|* +\************************************************************************/ + +class FuConstPolygon : public FuConstruct +{ + Point aLastPos; + + public: + FuConstPolygon(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + + virtual ~FuConstPolygon(); + // Mouse- & Key-Events + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + + +#endif // _FUCONPOL_HXX + diff --git a/sc/source/ui/inc/fuconrec.hxx b/sc/source/ui/inc/fuconrec.hxx new file mode 100644 index 000000000000..286cf17bed19 --- /dev/null +++ b/sc/source/ui/inc/fuconrec.hxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * $RCSfile: fuconrec.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUCONREC_HXX +#define SC_FUCONREC_HXX + +#ifndef _SV_HXX +#endif + +#ifndef SC_FUCONSTR_HXX +#include "fuconstr.hxx" +#endif + + +/************************************************************************* +|* +|* Rechteck zeichnen +|* +\************************************************************************/ + +class FuConstRectangle : public FuConstruct +{ + public: + FuConstRectangle(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + + virtual ~FuConstRectangle(); + // Mouse- & Key-Events + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + + + +#endif // _SD_FUCONREC_HXX + diff --git a/sc/source/ui/inc/fuconstr.hxx b/sc/source/ui/inc/fuconstr.hxx new file mode 100644 index 000000000000..80a22f2c840f --- /dev/null +++ b/sc/source/ui/inc/fuconstr.hxx @@ -0,0 +1,106 @@ +/************************************************************************* + * + * $RCSfile: fuconstr.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUCONSTR_HXX +#define SC_FUCONSTR_HXX + +#ifndef _SV_HXX +#endif + +#ifndef SC_FUDRAW_HXX +#include "fudraw.hxx" +#endif + + +/************************************************************************/ + +#define MIN_FREEHAND_DISTANCE 10 + + +/************************************************************************* +|* +|* Rechteck zeichnen +|* +\************************************************************************/ + +class FuConstruct : public FuDraw +{ + public: + FuConstruct(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + + virtual ~FuConstruct(); + // Mouse- & Key-Events + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + virtual BYTE Command(const CommandEvent& rCEvt); + + BOOL SimpleMouseButtonUp(const MouseEvent& rMEvt); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + + + +#endif // _SD_FUCONSTR_HXX diff --git a/sc/source/ui/inc/fuconuno.hxx b/sc/source/ui/inc/fuconuno.hxx new file mode 100644 index 000000000000..2eb62d83d5ad --- /dev/null +++ b/sc/source/ui/inc/fuconuno.hxx @@ -0,0 +1,100 @@ +/************************************************************************* + * + * $RCSfile: fuconuno.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUCONUNO_HXX +#define SC_FUCONUNO_HXX + +#ifndef SC_FUCONSTR_HXX +#include "fuconstr.hxx" +#endif + + +/************************************************************************* +|* +|* Control zeichnen +|* +\************************************************************************/ + +class FuConstUnoControl : public FuConstruct +{ +protected: + UINT32 nInventor; + UINT16 nIdentifier; + +public: + FuConstUnoControl(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + + virtual ~FuConstUnoControl(); + // Mouse- & Key-Events + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + + + +#endif // _SD_FUCONCTL_HXX + diff --git a/sc/source/ui/inc/fudraw.hxx b/sc/source/ui/inc/fudraw.hxx new file mode 100644 index 000000000000..dd7c7bc73d8b --- /dev/null +++ b/sc/source/ui/inc/fudraw.hxx @@ -0,0 +1,111 @@ +/************************************************************************* + * + * $RCSfile: fudraw.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUDRAW_HXX +#define SC_FUDRAW_HXX + +#ifndef _SC_FUPOOR_HXX +#include "fupoor.hxx" +#endif + +#ifndef _SV_POINTR_HXX //autogen +#include <vcl/pointr.hxx> +#endif + +/************************************************************************* +|* +|* Basisklasse fuer alle Drawmodul-spezifischen Funktionen +|* +\************************************************************************/ + +class FuDraw : public FuPoor +{ + protected: + Pointer aNewPointer; + Pointer aOldPointer; + + public: + FuDraw(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + virtual ~FuDraw(); + + virtual BOOL KeyInput(const KeyEvent& rKEvt); + + virtual void ScrollStart(); + virtual void ScrollEnd(); + + virtual void Activate(); + virtual void Deactivate(); + + virtual void ForcePointer(const MouseEvent* pMEvt); + + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + private: + void DoModifiers(const MouseEvent& rMEvt); + void ResetModifiers(); +}; + + + +#endif // _SD_FUDRAW_HXX diff --git a/sc/source/ui/inc/fuedipo.hxx b/sc/source/ui/inc/fuedipo.hxx new file mode 100644 index 000000000000..f5d19151389d --- /dev/null +++ b/sc/source/ui/inc/fuedipo.hxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * $RCSfile: fuedipo.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUEDIPO_HXX +#define SC_FUEDIPO_HXX + +#ifndef _SV_HXX +#endif + +#ifndef SC_FUDRAW_HXX +#include "fudraw.hxx" +#endif + + +/************************************************************************* +|* +|* Basisklasse fuer alle Funktionen +|* +\************************************************************************/ + +class FuEditPoints : public FuDraw +{ + public: + FuEditPoints(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + + virtual ~FuEditPoints(); + // Mouse- & Key-Events + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + + + +#endif // _SD_FUEDIPO_HXX + diff --git a/sc/source/ui/inc/fuinsert.hxx b/sc/source/ui/inc/fuinsert.hxx new file mode 100644 index 000000000000..81a4946df2db --- /dev/null +++ b/sc/source/ui/inc/fuinsert.hxx @@ -0,0 +1,106 @@ +/************************************************************************* + * + * $RCSfile: fuinsert.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + + +#ifndef SC_FUINSERT_HXX +#define SC_FUINSERT_HXX + +#include "fupoor.hxx" + +class FuInsertGraphic : public FuPoor +{ + public: + FuInsertGraphic( ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + virtual ~FuInsertGraphic(); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + +/************************************************************************/ + +class FuInsertOLE : public FuPoor +{ + public: + FuInsertOLE( ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + virtual ~FuInsertOLE(); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + +/************************************************************************/ + +class FuInsertChart : public FuPoor +{ + public: + FuInsertChart( ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + virtual ~FuInsertChart(); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + +#endif // _SD_FUINSERT_HXX + diff --git a/sc/source/ui/inc/fumark.hxx b/sc/source/ui/inc/fumark.hxx new file mode 100644 index 000000000000..bfa79bcbe8ca --- /dev/null +++ b/sc/source/ui/inc/fumark.hxx @@ -0,0 +1,111 @@ +/************************************************************************* + * + * $RCSfile: fumark.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUMARK_HXX +#define SC_FUMARK_HXX + +#include "fupoor.hxx" + +#ifndef SC_RANGELST_HXX +#include "rangelst.hxx" // ScRangeListRef +#endif + + +/************************************************************************* +|* +|* Funktion zum Aufziehen eines Rechtecks +|* +\************************************************************************/ + +class FuMarkRect : public FuPoor +{ + protected: + Point aBeginPos; + Rectangle aZoomRect; + BOOL bVisible; + BOOL bStartDrag; + ScRangeListRef aSourceRange; + + public: + FuMarkRect(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + virtual ~FuMarkRect(); + + virtual BOOL KeyInput(const KeyEvent& rKEvt); + + virtual void ScrollStart(); + virtual void ScrollEnd(); + + virtual void Activate(); + virtual void Deactivate(); + + virtual void ForcePointer(const MouseEvent* pMEvt); + + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + virtual BYTE Command(const CommandEvent& rCEvt); +}; + + + +#endif + diff --git a/sc/source/ui/inc/funcpage.hxx b/sc/source/ui/inc/funcpage.hxx new file mode 100644 index 000000000000..eb32e4cf05b6 --- /dev/null +++ b/sc/source/ui/inc/funcpage.hxx @@ -0,0 +1,197 @@ +/************************************************************************* + * + * $RCSfile: funcpage.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUNCPAGE_HXX +#define SC_FUNCPAGE_HXX + +#ifndef SC_FUNCUTL_HXX +#include "funcutl.hxx" +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" // ScAddress +#endif + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _SVEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + +#ifndef _SV_TABPAGE_HXX //autogen +#include <vcl/tabpage.hxx> +#endif + +#ifndef _SVSTDARR_STRINGS + +#define _SVSTDARR_STRINGS +#include <svtools/svstdarr.hxx> + +#endif + +#ifndef _SV_TABCTRL_HXX //autogen +#include <vcl/tabctrl.hxx> +#endif + +#ifndef SC_PARAWIN_HXX +#include "parawin.hxx" +#endif + +#ifndef _SVTREEBOX_HXX //autogen +#include <svtools/svtreebx.hxx> +#endif + +#ifndef SC_COMPILER_HXX +#include "compiler.hxx" +#endif + +#ifndef SC_CELL_HXX +#include "cell.hxx" +#endif + + +class ScViewData; +class ScFuncName_Impl; +class ScDocument; +class ScFuncDesc; + +//============================================================================ + +#define LRU_MAX 10 + +//============================================================================ +class ScListBox : public ListBox +{ +protected: + + virtual void KeyInput( const KeyEvent& rKEvt ); + virtual long PreNotify( NotifyEvent& rNEvt ); + +public: + ScListBox( Window* pParent, WinBits nWinStyle = WB_BORDER ); + + ScListBox( Window* pParent, const ResId& rResId ); + +}; + + + + +//============================================================================ +class ScFuncPage : public TabPage +{ +private: + + Link aDoubleClickLink; + Link aSelectionLink; + FixedText aFtCategory; + ListBox aLbCategory; + FixedText aFtFunction; + ScListBox aLbFunction; + ImageButton aIBFunction; + + ScFuncDesc* aLRUList[LRU_MAX]; + + + DECL_LINK( SelHdl, ListBox* ); + DECL_LINK( DblClkHdl, ListBox* ); + +protected: + + void UpdateFunctionList(); + void InitLRUList(); + + +public: + + ScFuncPage( Window* pParent); + + void SetCategory(USHORT nCat); + void SetFunction(USHORT nFunc); + void SetFocus(); + USHORT GetCategory(); + USHORT GetFunction(); + USHORT GetFunctionEntryCount(); + + USHORT GetFuncPos(ScFuncDesc*); + ScFuncDesc* GetFuncDesc( USHORT nPos ) const; + String GetSelFunctionName() const; + + void SetDoubleClickHdl( const Link& rLink ) { aDoubleClickLink = rLink; } + const Link& GetDoubleClickHdl() const { return aDoubleClickLink; } + + void SetSelectHdl( const Link& rLink ) { aSelectionLink = rLink; } + const Link& GetSelectHdl() const { return aSelectionLink; } + +}; + + +#endif + diff --git a/sc/source/ui/inc/funcutl.hxx b/sc/source/ui/inc/funcutl.hxx new file mode 100644 index 000000000000..af8e1b04c2a7 --- /dev/null +++ b/sc/source/ui/inc/funcutl.hxx @@ -0,0 +1,243 @@ +/************************************************************************* + * + * $RCSfile: funcutl.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUNCUTL_HXX +#define SC_FUNCUTL_HXX + +#ifndef _SCRBAR_HXX //autogen +#include <vcl/scrbar.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SVEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" // ScRefButton +#endif + + +//============================================================================ +// class ValWnd + +class ValWnd : public Window +{ +public: + ValWnd( Window* pParent, const ResId& rId ); + + void SetValue( const String& rStrVal ); + +protected: + virtual void Paint( const Rectangle& rRect ); + +private: + String aStrValue; + Rectangle aRectOut; +}; + + +//============================================================================ +// class ScEditBox + +class ScEditBox : public Control +{ +private: + + MultiLineEdit* pMEdit; + Link aSelChangedLink; + Selection aOldSel; + BOOL bMouseFlag; + DECL_LINK( ChangedHdl, ScEditBox* ); + +protected: + + virtual long PreNotify( NotifyEvent& rNEvt ); + virtual void SelectionChanged(); + virtual void Resize(); + virtual void GetFocus(); + + +public: + ScEditBox( Window* pParent, + WinBits nWinStyle = WB_LEFT | WB_BORDER ); + ScEditBox( Window* pParent, const ResId& rResId ); + + ~ScEditBox(); + + MultiLineEdit* GetEdit() {return pMEdit;} + + void SetSelChangedHdl( const Link& rLink ) { aSelChangedLink = rLink; } + const Link& GetSelChangedHdl() const { return aSelChangedLink; } +}; + + + +//============================================================================ +// class ArgEdit + +class ArgEdit : public ScRefEdit +{ +public: + ArgEdit( Window* pParent, WinBits nWinStyle = WB_LEFT | WB_BORDER ); + ArgEdit( Window* pParent, const ResId& rResId ); + + void Init( ArgEdit* pPrevEdit, ArgEdit* pNextEdit, + ScrollBar& rArgSlider, USHORT nArgCount ); + +protected: + virtual void KeyInput( const KeyEvent& rKEvt ); + +private: + ArgEdit* pEdPrev; + ArgEdit* pEdNext; + ScrollBar* pSlider; + USHORT nArgs; +}; + + +//============================================================================ +// class ArgInput + +class ArgInput +{ +private: + + Link aFxClickLink; + Link aRefClickLink; + Link aFxFocusLink; + Link aRefFocusLink; + Link aEdFocusLink; + Link aEdModifyLink; + + FixedText* pFtArg; + ImageButton* pBtnFx; + ArgEdit* pEdArg; + ScRefButton* pRefBtn; + + DECL_LINK( FxBtnClickHdl, ImageButton* ); + DECL_LINK( RefBtnClickHdl,ScRefButton* ); + DECL_LINK( FxBtnFocusHdl, ImageButton* ); + DECL_LINK( RefBtnFocusHdl,ScRefButton* ); + DECL_LINK( EdFocusHdl, ArgEdit* ); + DECL_LINK( EdModifyHdl,ArgEdit* ); + +protected: + + virtual void FxClick(); + virtual void RefClick(); + virtual void FxFocus(); + virtual void RefFocus(); + virtual void EdFocus(); + virtual void EdModify(); + +public: + + ArgInput(); + + void InitArgInput ( FixedText* pftArg, + ImageButton* pbtnFx, + ArgEdit* pedArg, + ScRefButton* prefBtn); + + void SetArgName(const String &aArg); + String GetArgName(); + void SetArgNameFont(const Font&); + + void SetArgVal(const String &aVal); + String GetArgVal(); + + void SetArgSelection (const Selection& rSel ); + void ReplaceSelOfArg (const String& rStr ); + + Selection GetArgSelection(); + + + ArgEdit* GetArgEdPtr() {return pEdArg;} + + + void SetFxClickHdl( const Link& rLink ) { aFxClickLink = rLink; } + const Link& GetFxClickHdl() const { return aFxClickLink; } + + void SetRefClickHdl( const Link& rLink ) { aRefClickLink = rLink; } + const Link& GetRefClickHdl() const { return aRefClickLink; } + + void SetFxFocusHdl( const Link& rLink ) { aFxFocusLink = rLink; } + const Link& GetFxFocusHdl() const { return aFxFocusLink; } + + void SetRefFocusHdl( const Link& rLink ) { aRefFocusLink = rLink; } + const Link& GetRefFocusHdl() const { return aRefFocusLink; } + + void SetEdFocusHdl( const Link& rLink ) { aEdFocusLink = rLink; } + const Link& GetEdFocusHdl() const { return aEdFocusLink; } + + void SetEdModifyHdl( const Link& rLink ) { aEdModifyLink = rLink; } + const Link& GetEdModifyHdl() const { return aEdModifyLink; } + + void Hide(); + void Show(); + +}; + + +#endif diff --git a/sc/source/ui/inc/fupoor.hxx b/sc/source/ui/inc/fupoor.hxx new file mode 100644 index 000000000000..3db7ec5d025e --- /dev/null +++ b/sc/source/ui/inc/fupoor.hxx @@ -0,0 +1,150 @@ +/************************************************************************* + * + * $RCSfile: fupoor.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SC_FUPOOR_HXX +#define _SC_FUPOOR_HXX + +#ifndef _EVENT_HXX //autogen +#include <vcl/event.hxx> +#endif +#ifndef _TIMER_HXX //autogen +#include <vcl/timer.hxx> +#endif +#ifndef _SFXREQUEST_HXX //autogen +#include <sfx2/request.hxx> +#endif + +class SdrView; +class ScTabViewShell; +class Window; +class SdrModel; +class Dialog; + + +// Return-Werte fuer Command +#define SC_CMD_NONE 0 +#define SC_CMD_USED 1 +#define SC_CMD_IGNORE 2 + +/************************************************************************* +|* +|* Basisklasse fuer alle Funktionen +|* +\************************************************************************/ + +class FuPoor +{ + protected: + SdrView* pView; + ScTabViewShell* pViewShell; + Window* pWindow; + SdrModel* pDrDoc; + + SfxRequest aSfxRequest; + Dialog* pDialog; + + Timer aScrollTimer; // fuer Autoscrolling + DECL_LINK( ScrollHdl, Timer * ); + void ForceScroll(const Point& aPixPos); + + Timer aDragTimer; // fuer Drag&Drop + DECL_LINK( DragTimerHdl, Timer * ); + DECL_LINK( DragHdl, void * ); + BOOL bIsInDragMode; + Point aMDPos; // Position von MouseButtonDown + + public: + FuPoor(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + virtual ~FuPoor(); + + virtual void Paint(const Rectangle& rRect, Window* pWin) {} + + virtual void DoCut(); + virtual void DoCopy(); + virtual void DoPaste(); + + // Mouse- & Key-Events; Returnwert=TRUE: Event wurde bearbeitet + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt) { return FALSE; } + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt) { return FALSE; } + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt) { return FALSE; } + virtual BYTE Command(const CommandEvent& rCEvt); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren + + virtual void ScrollStart() {} // diese Funktionen werden von + virtual void ScrollEnd() {} // ForceScroll aufgerufen + + void SetWindow(Window* pWin) { pWindow = pWin; } + + USHORT GetSlotID() const { return( aSfxRequest.GetSlot() ); } + + BOOL IsDetectiveHit( const Point& rLogicPos ); + + void StopDragTimer(); +}; + + + +#endif // _SD_FUPOOR_HXX + diff --git a/sc/source/ui/inc/fusel.hxx b/sc/source/ui/inc/fusel.hxx new file mode 100644 index 000000000000..e35a87c04826 --- /dev/null +++ b/sc/source/ui/inc/fusel.hxx @@ -0,0 +1,113 @@ +/************************************************************************* + * + * $RCSfile: fusel.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUSEL_HXX +#define SC_FUSEL_HXX + +#ifndef _SV_HXX +#endif + +#ifndef SC_FUDRAW_HXX +#include "fudraw.hxx" +#endif + +//class Outliner; +//class OutlinerView; +class SdrPageView; + + +/************************************************************************* +|* +|* Basisklasse fuer alle Funktionen +|* +\************************************************************************/ + +class FuSelection : public FuDraw +{ + protected: +// Outliner* pOutliner; +// OutlinerView* pOutlinerView; + BOOL bVCAction; + + private: + BOOL TestDetective( SdrPageView* pPV, const Point& rPos ); // -> fusel2 + BOOL TestComment( SdrPageView* pPV, const Point& rPos ); // -> fusel2 + + public: + FuSelection(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq ); + + virtual ~FuSelection(); + // Mouse- & Key-Events + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + virtual BYTE Command(const CommandEvent& rCEvt); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren +}; + + + +#endif // _SD_FUSEL_HXX + diff --git a/sc/source/ui/inc/futext.hxx b/sc/source/ui/inc/futext.hxx new file mode 100644 index 000000000000..a67d35fe9874 --- /dev/null +++ b/sc/source/ui/inc/futext.hxx @@ -0,0 +1,112 @@ +/************************************************************************* + * + * $RCSfile: futext.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_FUTEXT_HXX +#define SC_FUTEXT_HXX + +#ifndef SC_FUCONSTR_HXX +#include "fuconstr.hxx" +#endif + +class SdrObject; +class SdrTextObj; +class SdrOutliner; + +/************************************************************************* +|* +|* Basisklasse fuer Textfunktionen +|* +\************************************************************************/ +class FuText : public FuConstruct +{ +protected: +// USHORT nOldObjectBar; + SdrTextObj* pTextObj; + +public: + FuText(ScTabViewShell* pViewSh, Window* pWin, SdrView* pView, + SdrModel* pDoc, SfxRequest& rReq); + + virtual ~FuText(); + + virtual BOOL KeyInput(const KeyEvent& rKEvt); + virtual BOOL MouseMove(const MouseEvent& rMEvt); + virtual BOOL MouseButtonUp(const MouseEvent& rMEvt); + virtual BOOL MouseButtonDown(const MouseEvent& rMEvt); + + virtual void Activate(); // Function aktivieren + virtual void Deactivate(); // Function deaktivieren + + virtual void ForcePointer(const MouseEvent* pMEvt); + + virtual void SelectionHasChanged(); + + void SetInEditMode( SdrObject* pObj = NULL, const Point* pMousePixel = NULL ); + void StopEditMode(); + +private: + SdrOutliner* MakeOutliner(); +}; + + + +#endif + diff --git a/sc/source/ui/inc/graphsh.hxx b/sc/source/ui/inc/graphsh.hxx new file mode 100644 index 000000000000..71e5bb6c69d7 --- /dev/null +++ b/sc/source/ui/inc/graphsh.hxx @@ -0,0 +1,93 @@ +/************************************************************************* + * + * $RCSfile: graphsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef GRAPHSH_HXX +#define GRAPHSH_HXX + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#include "shellids.hxx" +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#ifndef _SVDMARK_HXX //autogen +#include <svx/svdmark.hxx> +#endif + +class ScViewData; + +#include "drawsh.hxx" + +class ScGraphicShell: public ScDrawShell +{ +public: + + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_GRAPHIC_SHELL); + + ScGraphicShell(ScViewData* pData); + virtual ~ScGraphicShell(); + +}; + +#endif diff --git a/sc/source/ui/inc/gridmerg.hxx b/sc/source/ui/inc/gridmerg.hxx new file mode 100644 index 000000000000..c2f9511dea1f --- /dev/null +++ b/sc/source/ui/inc/gridmerg.hxx @@ -0,0 +1,100 @@ +/************************************************************************* + * + * $RCSfile: gridmerg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_GRIDMERG_HXX +#define SC_GRIDMERG_HXX + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +class OutputDevice; + +class ScGridMerger +{ +private: + OutputDevice* pDev; + long nOneX; + long nOneY; + long nFixStart; + long nFixEnd; + long nVarStart; + long nVarDiff; + long nCount; + BOOL bVertical; + BOOL bOptimize; + + void AddLine( long nStart, long nEnd, long nPos ); + +public: + ScGridMerger( OutputDevice* pOutDev, long nOnePixelX, long nOnePixelY ); + ~ScGridMerger(); + + void AddHorLine( long nX1, long nX2, long nY ); + void AddVerLine( long nX, long nY1, long nY2 ); + void Flush(); +}; + + + +#endif + + diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx new file mode 100644 index 000000000000..a5bb7fd5b36f --- /dev/null +++ b/sc/source/ui/inc/gridwin.hxx @@ -0,0 +1,358 @@ +/************************************************************************* + * + * $RCSfile: gridwin.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_GRIDWIN_HXX +#define SC_GRIDWIN_HXX + +#ifndef _STRING_HXX //autogen +#include <tools/string.hxx> +#endif + +// nur auf dem MAC Auto-Filter per Popup +#ifdef MAC +#define AUTOFILTER_POPUP +#else +#undef AUTOFILTER_POPUP +#endif + +#include "viewutil.hxx" +#include "viewdata.hxx" +#include "cbutton.hxx" + +// --------------------------------------------------------------------------- + +struct RowInfo; +class ScViewSelectionEngine; +class ScPivot; +class ScDPObject; +class ScOutputData; +class ScFilterListBox; +class AutoFilterPopup; +class SdrObject; +class SdrEditView; +class ScNoteMarker; +class FloatingWindow; +class SdrHdlList; + + // Maus-Status (nMouseStatus) + +#define SC_GM_NONE 0 +#define SC_GM_TABDOWN 1 +#define SC_GM_DBLDOWN 2 +#define SC_GM_FILTER 3 +#define SC_GM_IGNORE 4 +#define SC_GM_WATERUNDO 5 +#define SC_GM_URLDOWN 6 + + // Page-Drag-Modus + +#define SC_PD_NONE 0 +#define SC_PD_RANGE_L 1 +#define SC_PD_RANGE_R 2 +#define SC_PD_RANGE_T 4 +#define SC_PD_RANGE_B 8 +#define SC_PD_RANGE_TL (SC_PD_RANGE_T|SC_PD_RANGE_L) +#define SC_PD_RANGE_TR (SC_PD_RANGE_T|SC_PD_RANGE_R) +#define SC_PD_RANGE_BL (SC_PD_RANGE_B|SC_PD_RANGE_L) +#define SC_PD_RANGE_BR (SC_PD_RANGE_B|SC_PD_RANGE_R) +#define SC_PD_BREAK_H 16 +#define SC_PD_BREAK_V 32 + +class ScGridWindow : public Window +{ + // ScFilterListBox wird immer fuer Auswahlliste benutzt + friend class ScFilterListBox; +#ifdef AUTOFILTER_POPUP + friend class AutoFilterPopup; +#endif + +private: + ScViewData* pViewData; + ScSplitPos eWhich; + ScHSplitPos eHWhich; + ScVSplitPos eVWhich; + + ScNoteMarker* pNoteMarker; + + ScFilterListBox* pFilterBox; + USHORT nFilterBoxCol; + USHORT nFilterBoxRow; + FloatingWindow* pFilterFloat; + + USHORT nCursorHideCount; + + BOOL bMarking; + + USHORT nButtonDown; + BOOL bEEMouse; // Edit-Engine hat Maus + BYTE nMouseStatus; + + BOOL bPivotMouse; // Pivot-D&D (alte Pivottabellen) + ScPivot* pDragPivot; + BOOL bPivotColField; + USHORT nPivotCol; + USHORT nPivotField; + + BOOL bDPMouse; // DataPilot-D&D (neue Pivottabellen) + long nDPField; + ScDPObject* pDragDPObj; //! name? + + BOOL bRFMouse; // RangeFinder-Drag + BOOL bRFSize; + USHORT nRFIndex; + short nRFAddX; + short nRFAddY; + + USHORT nPagebreakMouse; // Pagebreak-Modus Drag + USHORT nPagebreakBreak; + USHORT nPagebreakPrev; + ScRange aPagebreakSource; + ScRange aPagebreakDrag; + BOOL bPagebreakDrawn; + + long nLastClickX; + long nLastClickY; + + BOOL bDragRect; + USHORT nDragStartX; + USHORT nDragStartY; + USHORT nDragEndX; + USHORT nDragEndY; + + USHORT nCurrentPointer; + + BOOL bIsInScroll; + BOOL bIsInPaint; + + ScDDComboBoxButton aComboButton; + + Point aCurMousePos; + + USHORT nPaintCount; + Rectangle aRepaintPixel; + BOOL bNeedsRepaint; + + BOOL bAutoMarkVisible; + ScAddress aAutoMarkPos; + + Rectangle aInvertRect; + + DECL_LINK( PopupModeEndHdl, FloatingWindow* ); + + BOOL TestMouse( const MouseEvent& rMEvt, BOOL bAction ); + + void DoPushButton( USHORT nCol, USHORT nRow, const MouseEvent& rMEvt ); + void PivotMouseMove( const MouseEvent& rMEvt ); + void PivotMouseButtonUp( const MouseEvent& rMEvt ); + BOOL PivotTestMouse( const MouseEvent& rMEvt, BOOL bMove ); + void DoPivotDrop( BOOL bDelete, BOOL bToCols, short nDestPos ); + + void DPMouseMove( const MouseEvent& rMEvt ); + void DPMouseButtonUp( const MouseEvent& rMEvt ); + void DPTestMouse( const MouseEvent& rMEvt, BOOL bMove ); + + void RFMouseMove( const MouseEvent& rMEvt, BOOL bUp ); + + void PagebreakMove( const MouseEvent& rMEvt, BOOL bUp ); + + void UpdateDragRect( BOOL bShowRange, const Rectangle& rPosRect ); + + BOOL IsAutoFilterActive( USHORT nCol, USHORT nRow, USHORT nTab ); + void ExecFilter( ULONG nSel, USHORT nCol, USHORT nRow, + const String& aValue ); + void FilterSelect( ULONG nSel ); + + void ExecDataSelect( USHORT nCol, USHORT nRow, const String& rStr ); + + BOOL HasScenarioButton( const Point& rPosPixel, ScRange& rScenRange ); + + BOOL DropScroll( const Point& rMousePos ); + + BOOL QueryDropPrivate( DropEvent& rEvt ); + BOOL DropPrivate( const DropEvent& rEvt ); + + BOOL DrawMouseButtonDown(const MouseEvent& rMEvt); + BOOL DrawMouseButtonUp(const MouseEvent& rMEvt); + BOOL DrawMouseMove(const MouseEvent& rMEvt); + BOOL DrawKeyInput(const KeyEvent& rKEvt); + BOOL DrawCommand(const CommandEvent& rCEvt); + BOOL DrawHasMarkedObj(); + void DrawEndAction(); + void DrawMarkDropObj( SdrObject* pObj ); + SdrObject* GetEditObject(); + BOOL IsMyModel(SdrEditView* pSdrView); + void DrawStartTimer(); + + void DrawRedraw( ScOutputData& rOutputData, const Rectangle& rDrawingRect, + ScUpdateMode eMode, ULONG nLayer ); + void DrawSdrGrid( const Rectangle& rDrawingRect ); + BOOL DrawBeforeScroll(); + void DrawAfterScroll(BOOL bVal); + void OutlinerViewPaint( const Rectangle& rRect ); + void DrawMarks(); + BOOL NeedDrawMarks(); + void DrawComboButton( const Point& rCellPos, + long nCellSizeX, + long nCellSizeY, + BOOL bBtnIn = FALSE ); + + void DrawPagePreview( USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2 ); + + BOOL GetEditUrl( const Point& rPos, + String* pName=0, String* pUrl=0, String* pTarget=0 ); + BOOL GetEditUrlOrError( BOOL bSpellErr, const Point& rPos, + String* pName=0, String* pUrl=0, String* pTarget=0 ); + + BOOL HitRangeFinder( const Point& rMouse, BOOL& rCorner, USHORT* pIndex = NULL, + short* pAddX = NULL, short* pAddY = NULL ); + + USHORT HitPageBreak( const Point& rMouse, ScRange* pSource = NULL, + USHORT* pBreak = NULL, USHORT* pPrev = NULL ); + +#ifdef AUTOFILTER_POPUP + void DoAutoFilterPopup( USHORT nCol, USHORT nRow, BOOL bDataSelect ); +#endif + +protected: + virtual void Resize( const Size& rSize ); + virtual void Paint( const Rectangle& rRect ); + virtual BOOL QueryDrop( DropEvent& rEvt ); + virtual BOOL Drop( const DropEvent& rEvt ); + virtual void KeyInput(const KeyEvent& rKEvt); + virtual void GetFocus(); + virtual void LoseFocus(); + + virtual void RequestHelp( const HelpEvent& rEvt ); + virtual void Command( const CommandEvent& rCEvt ); + +public: + ScGridWindow( Window* pParent, ScViewData* pData, ScSplitPos eWhichPos ); + ~ScGridWindow(); + + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt ); + virtual void MouseMove( const MouseEvent& rMEvt ); + virtual void Tracking( const TrackingEvent& rTEvt ); + + void FakeButtonUp(); + + Point GetMousePosPixel() const; + void UpdateStatusPosSize(); + + void ClickExtern(); + + void SetPointer( const Pointer& rPointer ); + + void MoveMouseStatus( ScGridWindow &rDestWin ); + + void ScrollPixel( long nDifX, long nDifY ); + void UpdateEditViewPos(); + + void UpdateFormulas(); + + void DoAutoFilterMenue( USHORT nCol, USHORT nRow, BOOL bDataSelect ); + void DoScenarioMenue( const ScRange& rScenRange ); + + void DrawButtons( USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2, + RowInfo* pRowInfo, USHORT nArrCount ); + + void Draw( USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2, + ScUpdateMode eMode = SC_UPDATE_ALL ); + + void InvertSimple( USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2, + BOOL bTestMerge = FALSE, BOOL bRepeat = FALSE ); + + void DrawDragRect( USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2, + BOOL bMarkDrop = TRUE ); + + void DrawRefMark( USHORT nRefStartX, USHORT nRefStartY, + USHORT nRefEndX, USHORT nRefEndY, + const Color& rColor, BOOL bHandle ); + + void CreateAnchorHandle(SdrHdlList& rHdl, const ScAddress& rAddress); + + void HideCursor(); + void ShowCursor(); + void DrawCursor(); + void DrawAutoFillMark(); + void UpdateAutoFillMark(BOOL bMarked, const ScRange& rMarkRange); + + void HideNoteMarker(); + + MapMode GetDrawMapMode( BOOL bForce = FALSE ); + + void ContinueDrag(); + + void StopMarking(); + + void CheckInverted() { if (nPaintCount) bNeedsRepaint = TRUE; } + + void DoInvertRect( const Rectangle& rPixel ); + + void CheckNeedsRepaint(); +}; + + + +#endif + diff --git a/sc/source/ui/inc/groupdlg.hxx b/sc/source/ui/inc/groupdlg.hxx new file mode 100644 index 000000000000..c259bc4708f1 --- /dev/null +++ b/sc/source/ui/inc/groupdlg.hxx @@ -0,0 +1,104 @@ +/************************************************************************* + * + * $RCSfile: groupdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_GROUPDLG_HXX +#define SC_GROUPDLG_HXX + + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +//------------------------------------------------------------------------ + +class ScGroupDlg : public ModalDialog +{ +public: + ScGroupDlg( Window* pParent, + USHORT nResId, + BOOL bUnGroup = FALSE, + BOOL bRows = TRUE ); + ~ScGroupDlg(); + + BOOL GetRowsChecked() const; + BOOL GetColsChecked() const; + +private: + RadioButton aBtnRows; + RadioButton aBtnCols; + GroupBox aGbFrame; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; +}; + + +#endif // SC_STRINDLG_HXX + + diff --git a/sc/source/ui/inc/hdrcont.hxx b/sc/source/ui/inc/hdrcont.hxx new file mode 100644 index 000000000000..b01a15665399 --- /dev/null +++ b/sc/source/ui/inc/hdrcont.hxx @@ -0,0 +1,172 @@ +/************************************************************************* + * + * $RCSfile: hdrcont.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_HDRCONT_HXX +#define SC_HDRCONT_HXX + +#ifndef _WINDOW_HXX //autogen +#include <vcl/window.hxx> +#endif +#ifndef _SELENG_HXX //autogen +#include <vcl/seleng.hxx> +#endif + +// --------------------------------------------------------------------------- + + +#define HDR_HORIZONTAL 0 +#define HDR_VERTICAL 1 + +#define HDR_SIZE_OPTIMUM 0xFFFF + + + // Groesse des Sliders +#define HDR_SLIDERSIZE 2 + +class ScHeaderControl : public Window +{ +private: + SelectionEngine* pSelEngine; + Font aNormFont; + Font aBoldFont; + BOOL bBoldSet; + + USHORT nFlags; + BOOL bVertical; // Vertikal = Zeilenheader + + long nWidth; + long nSmallWidth; + long nBigWidth; + + USHORT nSize; + + USHORT nMarkStart; + USHORT nMarkEnd; + BOOL bMarkRange; + + BOOL bDragging; // Groessen aendern + USHORT nDragNo; + long nDragStart; + long nDragPos; + BOOL bDragMoved; + + BOOL bIgnoreMove; + + long GetScrPos( USHORT nEntryNo ); + USHORT GetMousePos( const MouseEvent& rMEvt, BOOL& rBorder ); + + void ShowDragHelp(); + + void DoPaint( USHORT nStart, USHORT nEnd ); + +protected: + // von Window ueberladen + + virtual void Paint( const Rectangle& rRect ); + + virtual void MouseMove( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt ); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void Tracking( const TrackingEvent& rTEvt ); + + virtual void RequestHelp( const HelpEvent& rHEvt ); + + // neue Methoden + + virtual USHORT GetPos() = 0; // aktuelle Position (Scrolling) + virtual USHORT GetEntrySize( USHORT nEntryNo ) = 0; // Breite / Hoehe (Pixel) + virtual String GetEntryText( USHORT nEntryNo ) = 0; + + virtual USHORT GetHiddenCount( USHORT nEntryNo ); + + virtual void SetEntrySize( USHORT nPos, USHORT nNewWidth ) = 0; + virtual void HideEntries( USHORT nStart, USHORT nEnd ) = 0; + + virtual void SetMarking( BOOL bSet ); + virtual void SelectWindow(); + virtual BOOL IsDisabled(); + virtual BOOL ResizeAllowed(); + virtual String GetDragHelp( long nVal ); + + virtual void DrawInvert( long nDragPos ); + virtual void Command( const CommandEvent& rCEvt ); + +public: + ScHeaderControl( Window* pParent, SelectionEngine* pSelectionEngine, + USHORT nNewSize, USHORT nNewFlags ); + ~ScHeaderControl(); + + void SetIgnoreMove(BOOL bSet) { bIgnoreMove = bSet; } + + void StopMarking(); + + void SetMark( BOOL bNewSet, USHORT nNewStart, USHORT nNewEnd ); + + long GetWidth() const { return nWidth; } + long GetSmallWidth() const { return nSmallWidth; } + long GetBigWidth() const { return nBigWidth; } + void SetWidth( long nNew ); +}; + + + +#endif + diff --git a/sc/source/ui/inc/hfedtdlg.hxx b/sc/source/ui/inc/hfedtdlg.hxx new file mode 100644 index 000000000000..54718d7af327 --- /dev/null +++ b/sc/source/ui/inc/hfedtdlg.hxx @@ -0,0 +1,95 @@ +/************************************************************************* + * + * $RCSfile: hfedtdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_HFEDTDLG_HXX +#define SC_HFEDTDLG_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SVX_PAGEITEM_HXX //autogen +#include <svx/pageitem.hxx> +#endif + + +#include "sc.hrc" + + +//================================================================== + +class ScHFEditDlg : public SfxTabDialog +{ + SvxNumType eNumType; +public: + ScHFEditDlg( SfxViewFrame* pFrame, + Window* pParent, + const SfxItemSet& rCoreSet, + const String& rPageStyle, + USHORT nResId = RID_SCDLG_HFEDIT ); + + ~ScHFEditDlg(); + + virtual void PageCreated( USHORT nId, SfxTabPage& rPage ); +}; + + +#endif // SC_HFEDTDLG_HXX diff --git a/sc/source/ui/inc/highred.hrc b/sc/source/ui/inc/highred.hrc new file mode 100644 index 000000000000..263355ef76f2 --- /dev/null +++ b/sc/source/ui/inc/highred.hrc @@ -0,0 +1,106 @@ +/************************************************************************* + * + * $RCSfile: highred.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // -> RID_SCDLG_CHANGES + +#define BTN_OK 1 +#define BTN_CANCEL 2 +#define BTN_HELP 5 + +#define CB_HIGHLIGHT_ACCEPT 6 +#define CB_HIGHLIGHT_REJECT 7 +#define GB_TO_HIGHLIGHT 8 + +// +#define GB_REDLINING 10 +#define TP_FILTER 11 +#define TP_VIEW 12 +#define CB_HIGHLIGHT 13 + +#define FT_ASSIGN 14 +#define ED_ASSIGN 15 +#define RB_ASSIGN 16 + + + + + + + +#define STR_INSERT_COLS 20 +#define STR_INSERT_ROWS 21 +#define STR_INSERT_TABS 22 +#define STR_DELETE_COLS 23 +#define STR_DELETE_ROWS 24 +#define STR_DELETE_TABS 25 +#define STR_MOVE 26 +#define STR_CONTENT 27 +#define STR_REJECT 28 + +// Bitmaps +#define BMP_STR_CLOSE 31 +#define BMP_STR_OPEN 32 +#define BMP_STR_END 33 +#define BMP_STR_ERROR 34 + + +// + diff --git a/sc/source/ui/inc/highred.hxx b/sc/source/ui/inc/highred.hxx new file mode 100644 index 000000000000..6b22e75723fe --- /dev/null +++ b/sc/source/ui/inc/highred.hxx @@ -0,0 +1,186 @@ +/************************************************************************* + * + * $RCSfile: highred.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_HIGHRED_HXX +#define SC_HIGHRED_HXX + +#ifndef VCL +#endif + +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _HEADBAR_HXX //autogen +#include <svtools/headbar.hxx> +#endif + +#ifndef _SVTABBX_HXX //autogen +#include <svtools/svtabbx.hxx> +#endif + + +#ifndef SC_RANGENAM_HXX +#include "rangenam.hxx" +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SVX_ACREDLIN_HXX +#include <svx/ctredlin.hxx> +#endif + +#ifndef _SVX_SIMPTABL_HXX +#include <svx/simptabl.hxx> +#endif + +#ifndef SC_CHGTRACK_HXX +#include "chgtrack.hxx" +#endif + +#ifndef SC_CHGVISET_HXX +#include "chgviset.hxx" +#endif + +class ScViewData; +class ScDocument; + +#ifndef FLT_DATE_BEFORE +#define FLT_DATE_BEFORE 0 +#define FLT_DATE_SINCE 1 +#define FLT_DATE_EQUAL 2 +#define FLT_DATE_NOTEQUAL 3 +#define FLT_DATE_BETWEEN 4 +#define FLT_DATE_SAVE 5 +#endif + +//================================================================== + +class ScHighlightChgDlg : public ScAnyRefDlg +{ +private: + + CheckBox aHighlightBox; + GroupBox aGroupBox; + SvxTPFilter aFilterCtr; + CheckBox aCbAccept; + CheckBox aCbReject; + GroupBox aHighlightFrame; + + OKButton aOkButton; + CancelButton aCancelButton; + HelpButton aHelpButton; + + FixedText aFtAssign; + ScRefEdit aEdAssign; + ScRefButton aRbAssign; + + ScViewData* pViewData; + ScDocument* pDoc; + ScRangeName aLocalRangeName; + Selection theCurSel; + Size MinSize; + ScRangeList aRangeList; + ScChangeViewSettings aChangeViewSet; + + void Init(); + + DECL_LINK( RefHandle, SvxTPFilter* ); + DECL_LINK(HighLightHandle, CheckBox*); + DECL_LINK(OKBtnHdl, PushButton*); + + +protected: + + virtual void RefInputDone( BOOL bForced = FALSE ); + +public: + ScHighlightChgDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + ScViewData* ptrViewData); + + ~ScHighlightChgDlg(); + + virtual void SetActive(); + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + virtual BOOL Close(); + virtual BOOL IsRefInputMode() const; + +}; + + +#endif // SC_NAMEDLG_HXX + diff --git a/sc/source/ui/inc/hintwin.hxx b/sc/source/ui/inc/hintwin.hxx new file mode 100644 index 000000000000..7b9afbdf3cbf --- /dev/null +++ b/sc/source/ui/inc/hintwin.hxx @@ -0,0 +1,90 @@ +/************************************************************************* + * + * $RCSfile: hintwin.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_HINTWIN_HXX +#define SC_HINTWIN_HXX + +#ifndef _WINDOW_HXX //autogen +#include <vcl/window.hxx> +#endif + +class ScHintWindow : public Window +{ +private: + String aTitle; + String aMessage; + Point aTextStart; + long nTextHeight; + Font aTextFont; + Font aHeadFont; + +protected: + virtual void Paint( const Rectangle& rRect ); + +public: + ScHintWindow( Window* pParent, const String& rTit, const String& rMsg ); + ~ScHintWindow(); +}; + + + +#endif + diff --git a/sc/source/ui/inc/hiranges.hxx b/sc/source/ui/inc/hiranges.hxx new file mode 100644 index 000000000000..b0e4d447e6ac --- /dev/null +++ b/sc/source/ui/inc/hiranges.hxx @@ -0,0 +1,102 @@ +/************************************************************************* + * + * $RCSfile: hiranges.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_HIRANGES_HXX +#define SC_HIRANGES_HXX + +#ifndef _COLOR_HXX //autogen +#include <vcl/color.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +//================================================================== + +struct ScHighlightEntry +{ + ScRange aRef; + Color aColor; + + ScHighlightEntry( const ScRange& rR, const Color& rC ) : + aRef(rR), aColor(rC) {} +}; + +class ScHighlightRanges +{ + List aEntries; + +public: + ScHighlightRanges(); + ~ScHighlightRanges(); + + ULONG Count() const { return aEntries.Count(); } + void Insert( ScHighlightEntry* pNew ) { aEntries.Insert(pNew, LIST_APPEND); } + ScHighlightEntry* GetObject( ULONG nIndex ) const + { return (ScHighlightEntry*)aEntries.GetObject(nIndex); } +}; + + + +#endif + + diff --git a/sc/source/ui/inc/imoptdlg.hxx b/sc/source/ui/inc/imoptdlg.hxx new file mode 100644 index 000000000000..e355940de04b --- /dev/null +++ b/sc/source/ui/inc/imoptdlg.hxx @@ -0,0 +1,182 @@ +/************************************************************************* + * + * $RCSfile: imoptdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_IMOPTDLG_HXX +#define SC_IMOPTDLG_HXX + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +//=================================================================== + +class ScImportOptions; +class ScDelimiterTable; + +class ScImportOptionsDlg : public ModalDialog +{ +public: + ScImportOptionsDlg( Window* pParent, + BOOL bAsciiImport = TRUE, + const ScImportOptions* pOptions = NULL, + const String* pStrTitle = NULL ); + + ~ScImportOptionsDlg(); + + void GetImportOptions( ScImportOptions& rOptions ) const; + +private: + FixedText aFtFieldSep; + ComboBox aEdFieldSep; + FixedText aFtTextSep; + ComboBox aEdTextSep; + FixedText aFtFont; + ListBox aLbFont; + GroupBox aGbFieldOpt; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + ScDelimiterTable* pFieldSepTab; + ScDelimiterTable* pTextSepTab; + String aCharKeyList; + +private: + USHORT GetCodeFromCombo( const ComboBox& rEd ) const; +}; + +//------------------------------------------------------------------------ + +class ScImportOptions +{ +public: + ScImportOptions() + : nFieldSepCode(0),nTextSepCode(0),eCharSet(RTL_TEXTENCODING_DONTKNOW) + {} + ScImportOptions( const String& rStr ); + + ScImportOptions( USHORT nFieldSep, USHORT nTextSep, const String& rStr ) + : nFieldSepCode(nFieldSep),nTextSepCode(nTextSep),aStrFont(rStr),eCharSet(RTL_TEXTENCODING_DONTKNOW) + { eCharSet = GetCharsetValue(aStrFont); } + + ScImportOptions( const ScImportOptions& rCpy ) + : nFieldSepCode (rCpy.nFieldSepCode), + nTextSepCode (rCpy.nTextSepCode), + aStrFont (rCpy.aStrFont), + eCharSet (rCpy.eCharSet) + {} + + ScImportOptions& operator=( const ScImportOptions& rCpy ) + { + nFieldSepCode = rCpy.nFieldSepCode; + nTextSepCode = rCpy.nTextSepCode; + aStrFont = rCpy.aStrFont; + eCharSet = rCpy.eCharSet; + return *this; + } + + BOOL operator==( const ScImportOptions& rCmp ) + { + return + nFieldSepCode == rCmp.nFieldSepCode + && nTextSepCode == rCmp.nTextSepCode + && eCharSet == rCmp.eCharSet + && aStrFont == rCmp.aStrFont; + } + String BuildString() const; + String BuildParaString( const String& rTyp, const String& rDsn ) const; + + USHORT nFieldSepCode; + USHORT nTextSepCode; + String aStrFont; + CharSet eCharSet; +}; + + +#endif // SC_IMOPTDLG_HXX + + + diff --git a/sc/source/ui/inc/impex.hxx b/sc/source/ui/inc/impex.hxx new file mode 100644 index 000000000000..040c5ee7b7f2 --- /dev/null +++ b/sc/source/ui/inc/impex.hxx @@ -0,0 +1,183 @@ +/************************************************************************* + * + * $RCSfile: impex.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_IMPEX_HXX +#define SC_IMPEX_HXX + +#ifndef _SOT_EXCHANGE_HXX //autogen +#include <sot/exchange.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +class SvDataObject; +class SvDataTypeList; +class ScDocShell; +class ScDocument; +class SvStream; +class SvData; +class SfxMedium; +class ScAsciiOptions; + +class ScImportExport +{ + ScDocShell* pDocSh; + ScDocument* pDoc; + ScDocument* pUndoDoc; + ScRange aRange; + String aStreamPath; + ULONG nSizeLimit; + sal_Unicode cSep; // Separator + sal_Unicode cStr; // String Delimiter + BOOL bFormulas; // Formeln im Text? + BOOL bAll; // keine Selektion + BOOL bSingle; // Einfachselektion + BOOL bUndo; // Mit Undo? + BOOL bOverflow; // zuviele Zeilen/Spalten + + ScAsciiOptions* pExtOptions; // erweiterte Optionen + + BOOL StartPaste(); // Protect-Check, Undo einrichten + void EndPaste(); // Undo/Redo-Aktionen, Repaint + BOOL Doc2Text( SvStream& ); + BOOL Text2Doc( SvStream& ); + BOOL Doc2Sylk( SvStream& ); + BOOL Sylk2Doc( SvStream& ); + BOOL Doc2HTML( SvStream& ); + BOOL Doc2RTF( SvStream& ); + BOOL Doc2Dif( SvStream& ); + BOOL Dif2Doc( SvStream& ); + BOOL ExtText2Doc( SvStream& ); // mit pExtOptions + BOOL RTF2Doc( SvStream& ); + BOOL HTML2Doc( SvStream& ); + + //! only if stream is only used in own (!) memory + static inline void SetNoEndianSwap( SvStream& rStrm ); + +public: + ScImportExport( ScDocument* ); // Gesamtdokument + ScImportExport( ScDocument*, const String& ); // Bereichs/Zellangabe + ScImportExport( ScDocument*, const ScAddress& ); + ScImportExport( ScDocument*, const ScRange& ); + ~ScImportExport(); + + void SetExtOptions( const ScAsciiOptions& rOpt ); + + BOOL IsDoubleRef() const { return BOOL( !( bAll || bSingle ) ); } + BOOL IsSingleRef() const { return bSingle; } + BOOL IsNoRef() const { return bAll; } + BOOL IsRef() const { return BOOL( !bAll ); } + + const ScRange& GetRange() const { return aRange; } + + BOOL IsUndo() const { return bUndo; } + void SetUndo( BOOL b ) { bUndo = b; } + + static void AddFormats( SvDataTypeList* ); + static BOOL IsFormatSupported( SvDataObject* ); + static BOOL IsFormatSupported( ULONG nFormat ); + static const sal_Unicode* ScanNextFieldFromString( const sal_Unicode* p, + String& rField, sal_Unicode cStr, const sal_Unicode* pSeps, BOOL bMergeSeps ); + static void WriteUnicodeOrByteString( SvStream& rStrm, const String& rString, BOOL bZero = FALSE ); + static void WriteUnicodeOrByteEndl( SvStream& rStrm ); + static inline BOOL IsEndianSwap( const SvStream& rStrm ); + + sal_Unicode GetSeparator() const { return cSep; } + void SetSeparator( sal_Unicode c ) { cSep = c; } + sal_Unicode GetDelimiter() const { return cStr; } + void SetDelimiter( sal_Unicode c ) { cStr = c; } + BOOL IsFormulas() const { return bFormulas; } + void SetFormulas( BOOL b ) { bFormulas = b; } + + void SetSizeLimit( ULONG nNew ) { nSizeLimit = nNew; } // momentan nur fuer Ascii + + void SetStreamPath( const String& rPath ) { aStreamPath = rPath; } + const String& GetStreamPath() const { return aStreamPath; } + + BOOL ImportString( const String&, ULONG=FORMAT_STRING ); + BOOL ExportString( String&, ULONG=FORMAT_STRING ); + BOOL ExportByteString( ByteString&, rtl_TextEncoding, ULONG=FORMAT_STRING ); + + BOOL ImportStream( SvStream&, ULONG=FORMAT_STRING ); + BOOL ExportStream( SvStream&, ULONG=FORMAT_STRING ); + + BOOL ImportData( SvData& ); + BOOL ExportData( SvData& ); + + BOOL IsOverflow() const { return bOverflow; } // nach dem Importieren +}; + + +// static +inline BOOL ScImportExport::IsEndianSwap( const SvStream& rStrm ) +{ +#ifdef __BIGENDIAN + return rStrm.GetNumberFormatInt() != NUMBERFORMAT_INT_BIGENDIAN; +#else + return rStrm.GetNumberFormatInt() != NUMBERFORMAT_INT_LITTLEENDIAN; +#endif +} + + +#endif + diff --git a/sc/source/ui/inc/inputhdl.hxx b/sc/source/ui/inc/inputhdl.hxx new file mode 100644 index 000000000000..f9477f11a013 --- /dev/null +++ b/sc/source/ui/inc/inputhdl.hxx @@ -0,0 +1,317 @@ +/************************************************************************* + * + * $RCSfile: inputhdl.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_INPUTHDL_HXX +#define SC_INPUTHDL_HXX + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +#ifndef _FRACT_HXX //autogen +#include <tools/fract.hxx> +#endif + +#ifndef _GEN_HXX //autogen +#include <tools/gen.hxx> +#endif + +class ScDocument; +class ScTabView; +class ScTabViewShell; +class ScInputWindow; +class ScPatternAttr; +class EditEngine; +class ScEditEngineDefaulter; +class EditView; +class EditTextObject; +class ScInputHdlState; +class TypedStrCollection; +class ScRangeFindList; +class Timer; +class KeyEvent; + +struct ESelection; + +//======================================================================== +// ScInputHandler +//======================================================================== + +class ScInputHandler +{ +private: + ScInputWindow* pInputWin; + + ScEditEngineDefaulter* pEngine; // editierte Daten in der Tabelle + EditView* pTableView; // aktive EditView dazu + EditView* pTopView; // EditView in der Eingabezeile + + TypedStrCollection* pColumnData; + TypedStrCollection* pFormulaData; + ULONG nTipVisible; + String aManualTip; + String aAutoSearch; + USHORT nAutoPos; + BOOL bUseTab; // Blaettern moeglich + + BOOL bTextValid; // Text noch nicht in Edit-Engine + String aCurrentText; + + String aFormText; // fuer Funktions-Autopilot + xub_StrLen nFormSelStart; // Selektion fuer Funktions-Autopilot + xub_StrLen nFormSelEnd; + + USHORT nAutoPar; // autom.parentheses than can be overwritten + + ScAddress aCursorPos; + ScInputMode eMode; + BOOL bModified; + BOOL bSelIsRef; + BOOL bFormulaMode; + BOOL bInRangeUpdate; + BOOL bParenthesisShown; + BOOL bCreatingFuncView; + BOOL bInEnterHandler; + + BOOL bProtected; + BOOL bCellHasPercentFormat; + ULONG nValidation; + USHORT nAttrAdjust; // enum SvxCellHorJustify + + Fraction aScaleX; // fuer Ref-MapMode + Fraction aScaleY; + + ScTabViewShell* pRefViewSh; + ScTabViewShell* pActiveViewSh; + + const ScPatternAttr* pLastPattern; + SfxItemSet* pEditDefaults; + BOOL bLastIsSymbol; + + ScInputHdlState* pLastState; + Timer* pDelayTimer; + + ScRangeFindList* pRangeFindList; + + static BOOL bAutoComplete; // aus App-Optionen + static BOOL bOptLoaded; + +#ifdef _INPUTHDL_CXX +private: + void UpdateActiveView(); + void SetAllUpdateMode( BOOL bUpdate ); + void SyncViews( EditView* pSourceView = NULL ); + BOOL StartTable( sal_Unicode cTyped ); + void RemoveSelection(); + void UpdateFormulaMode(); + void InvalidateAttribs(); + void ImplCreateEditEngine(); + DECL_LINK( DelayTimer, Timer* ); + void GetColData(); + void UseColData(); + void NextAutoEntry( BOOL bBack ); + void UpdateAdjust( sal_Unicode cTyped ); + void GetFormulaData(); + void UseFormulaData(); + void NextFormulaEntry( BOOL bBack ); + void PasteFunctionData(); + void PasteManualTip(); + EditView* GetFuncEditView(); + void RemoveAdjust(); + void RemoveRangeFinder(); + void DeleteRangeFinder(); + void UpdateParenthesis(); + void UpdateAutoCorrFlag(); + void ResetAutoPar(); + void AutoParAdded(); + BOOL CursorAtClosingPar(); + void SkipClosingPar(); +#endif + +public: + ScInputHandler(); + virtual ~ScInputHandler(); + + void SetMode( ScInputMode eNewMode ); + BOOL IsInputMode() const { return (eMode != SC_INPUT_NONE); } + BOOL IsEditMode() const { return (eMode != SC_INPUT_NONE && + eMode != SC_INPUT_TYPE); } + BOOL IsTopMode() const { return (eMode == SC_INPUT_TOP); } + + const String& GetEditString(); + const String& GetFormString() const { return aFormText; } + + BOOL GetTextAndFields( ScEditEngineDefaulter& rDestEngine ); + + BOOL KeyInput( const KeyEvent& rKEvt, BOOL bStartEdit = FALSE ); + void EnterHandler( BYTE nBlockMode = 0 ); + void CancelHandler(); + void SetReference( const ScRange& rRef, ScDocument* pDoc ); + void AddRefEntry(); + + void InsertFunction( const String& rFuncName, BOOL bAddPar = TRUE ); + void ClearText(); + + void InputSelection( EditView* pView ); + void InputChanged( EditView* pView ); + + void ViewShellGone(ScTabViewShell* pViewSh); + void SetRefViewShell(ScTabViewShell* pRefVsh) {pRefViewSh=pRefVsh;} + + + void NotifyChange( const ScInputHdlState* pState, BOOL bForce = FALSE ); + + void ResetDelayTimer(); //BugId 54702 + + void HideTip(); + void ShowTip( const String& rText ); // am Cursor + + void SetRefScale( const Fraction& rX, const Fraction& rY ); + + EditView* GetActiveView(); + EditView* GetTableView() { return pTableView; } + EditView* GetTopView() { return pTopView; } + + BOOL DataChanging( sal_Unicode cTyped = 0 ); + void DataChanged(); + + BOOL TakesReturn() const { return ( nTipVisible != 0 ); } + + void SetModified() { bModified = TRUE; } + + BOOL GetSelIsRef() const { return bSelIsRef; } + void SetSelIsRef(BOOL bSet) { bSelIsRef = bSet; } + + void ShowRefFrame(); + + ScRangeFindList* GetRangeFindList() { return pRangeFindList; } + + void UpdateRange( USHORT nIndex, const ScRange& rNew ); + + // Kommunikation mit Funktionsautopilot + void InputGetSelection ( xub_StrLen& rStart, xub_StrLen& rEnd ); + void InputSetSelection ( xub_StrLen nStart, xub_StrLen nEnd ); + void InputReplaceSelection ( const String& rStr ); + String InputGetFormulaStr (); + + BOOL IsFormulaMode() const { return bFormulaMode; } + ScInputWindow* GetInputWindow() { return pInputWin; } + void SetInputWindow( ScInputWindow* pNew ) { pInputWin = pNew; } + + BOOL IsModalMode( SfxObjectShell* pDocSh ); + + void ActivateInputWindow( const String& rText, + const ESelection& rSel ); + + void ForgetLastPattern(); + + void UpdateSpellSettings( BOOL bFromStartTab = FALSE ); + + void FormulaPreview(); + + Size GetTextSize(); // in 1/100mm + + // eigentlich private, fuer SID_INPUT_SUM public + void InitRangeFinder( const String& rFormula ); + + static void SetAutoComplete(BOOL bSet) { bAutoComplete = bSet; } +}; + +//======================================================================== +// ScInputHdlState +//======================================================================== +class ScInputHdlState +{ + friend class ScInputHandler; + +public: + ScInputHdlState( const ScAddress& rCurPos, + const ScAddress& rStartPos, + const ScAddress& rEndPos, + const String& rString, + const EditTextObject* pData ); + ScInputHdlState( const ScInputHdlState& rCpy ); + ~ScInputHdlState(); + + ScInputHdlState& operator= ( const ScInputHdlState& r ); + int operator==( const ScInputHdlState& r ) const; + int operator!=( const ScInputHdlState& r ) const + { return !operator==( r ); } + + const ScAddress& GetPos() const { return aCursorPos; } + const ScAddress& GetStartPos() const { return aStartPos; } + const ScAddress& GetEndPos() const { return aEndPos; } + const String& GetString() const { return aString; } + const EditTextObject* GetEditData() const { return pEditData; } + +private: + ScAddress aCursorPos; + ScAddress aStartPos; + ScAddress aEndPos; + String aString; + EditTextObject* pEditData; +}; + + + +#endif + + diff --git a/sc/source/ui/inc/inputwin.hxx b/sc/source/ui/inc/inputwin.hxx new file mode 100644 index 000000000000..e8e8266e99c7 --- /dev/null +++ b/sc/source/ui/inc/inputwin.hxx @@ -0,0 +1,251 @@ +/************************************************************************* + * + * $RCSfile: inputwin.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_INPUTWIN_HXX +#define SC_INPUTWIN_HXX + + +#ifndef _TOOLBOX_HXX //autogen +#include <vcl/toolbox.hxx> +#endif +#ifndef _SFX_CHILDWIN_HXX //autogen +#include <sfx2/childwin.hxx> +#endif +#ifndef _SFXLSTNER_HXX //autogen +#include <svtools/lstner.hxx> +#endif +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif +#ifndef _WINDOW_HXX //autogen +#include <vcl/window.hxx> +#endif + +class ScEditEngineDefaulter; +class EditView; +struct ESelection; +class ScInputHandler; + +//======================================================================== + +class ScTextWnd : public Window // Edit-Fenster +{ +public: + ScTextWnd( Window* pParent ); + virtual ~ScTextWnd(); + + void SetTextString( const String& rString ); + const String& GetTextString() const; + + BOOL IsActive(); + EditView* GetEditView(); + + // fuer FunktionsAutopiloten + void MakeDialogEditView(); + + void StartEditEngine(); + void StopEditEngine(); + + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + void SetFormulaMode( BOOL bSet ); + +protected: + virtual void Paint( const Rectangle& rRec ); + virtual void Resize(); + + virtual void MouseMove( const MouseEvent& rMEvt ); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt ); + virtual void Command( const CommandEvent& rCEvt ); + virtual void KeyInput(const KeyEvent& rKEvt); + virtual void GetFocus(); + virtual void LoseFocus(); + + virtual String GetText() const; + +private: + void ImplInitSettings(); + void UpdateAutoCorrFlag(); + +private: + String aString; + Font aTextFont; + ScEditEngineDefaulter* pEditEngine; // erst bei Bedarf angelegt + EditView* pEditView; + BOOL bIsInsertMode; + BOOL bFormulaMode; +}; + +//======================================================================== + +class ScPosWnd : public ComboBox, public SfxListener // Positionsanzeige +{ +private: + String aPosStr; + Accelerator* pAccel; + BOOL bFormulaMode; + BOOL bTopHadFocus; + +public: + ScPosWnd( Window* pParent ); + virtual ~ScPosWnd(); + + void SetPos( const String& rPosStr ); // angezeigter Text + void SetFormulaMode( BOOL bSet ); + +protected: + virtual void Select(); + +#ifdef VCL + virtual long Notify( NotifyEvent& rNEvt ); +#else + virtual void GetFocus(); + virtual void LoseFocus(); +#endif + + virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, + const SfxHint& rHint, const TypeId& rHintType ); + +private: + void FillRangeNames(); + void FillFunctions(); + void DoEnter(); + + void ReleaseFocus_Impl(); + DECL_LINK( AccelSelectHdl, Accelerator * ); +}; + +//======================================================================== + +class ScInputWindow : public ToolBox // Parent-Toolbox +{ +public: + ScInputWindow( Window* pParent ); + virtual ~ScInputWindow(); + + virtual void Resize(); + virtual void Select(); + + void SetFuncString( const String& rString, BOOL bDoEdit = TRUE ); + void SetPosString( const String& rStr ); + void SetTextString( const String& rString ); + const String& GetTextString(); + + void SetOkCancelMode(); + void SetSumAssignMode(); + void EnableButtons( BOOL bEnable = TRUE ); + + void SetFormulaMode( BOOL bSet ); + + BOOL IsActive(); + EditView* GetEditView(); + EditView* ActivateEdit( const String& rText, + const ESelection& rSel ); + + void TextGrabFocus(); + void TextInvalidate(); + + void PosGrabFocus(); + + // Fuer FunktionsAutopiloten + void MakeDialogEditView(); + + void StopEditEngine(); + + void SetInputHandler( ScInputHandler* pNew ); + + ScInputHandler* GetInputHandler(){ return pInputHdl;} + + void StateChanged( StateChangedType nType ); + + +protected: + virtual void SetText( const String& rString ); + virtual String GetText() const; + +private: + ScPosWnd aWndPos; + ScTextWnd aTextWindow; + ScInputHandler* pInputHdl; + String aTextOk; + String aTextCancel; + String aTextSum; + String aTextEqual; + BOOL bIsOkCancelMode; +}; + +//================================================================== + +class ScInputWindowWrapper : public SfxChildWindow +{ +public: + ScInputWindowWrapper( Window* pParent, + USHORT nId, + SfxBindings* pBindings, + SfxChildWinInfo* pInfo ); + + SFX_DECL_CHILDWINDOW(ScInputWindowWrapper); +}; + + +#endif + diff --git a/sc/source/ui/inc/inscldlg.hxx b/sc/source/ui/inc/inscldlg.hxx new file mode 100644 index 000000000000..8a66fea50c2c --- /dev/null +++ b/sc/source/ui/inc/inscldlg.hxx @@ -0,0 +1,106 @@ +/************************************************************************* + * + * $RCSfile: inscldlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_INSCLDLG_HXX +#define SC_INSCLDLG_HXX + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +//------------------------------------------------------------------------ + +class ScInsertCellDlg : public ModalDialog +{ +private: + RadioButton aBtnCellsDown; + RadioButton aBtnCellsRight; + RadioButton aBtnInsRows; + RadioButton aBtnInsCols; + GroupBox aGbFrame; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + +public: + ScInsertCellDlg( Window* pParent,BOOL bDisallowCellMove = FALSE ); + ~ScInsertCellDlg(); + + InsCellCmd GetInsCellCmd() const; +}; + + +#endif // SC_INSCLDLG_HXX + + diff --git a/sc/source/ui/inc/inscodlg.hxx b/sc/source/ui/inc/inscodlg.hxx new file mode 100644 index 000000000000..370787e9202c --- /dev/null +++ b/sc/source/ui/inc/inscodlg.hxx @@ -0,0 +1,163 @@ +/************************************************************************* + * + * $RCSfile: inscodlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_INSCODLG_HXX +#define SC_INSCODLG_HXX + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +//------------------------------------------------------------------------ +#define INS_CONT_NOEMPTY 0x0100 +#define INS_CONT_TRANS 0x0200 +#define INS_CONT_LINK 0x0400 + +#define SC_CELL_SHIFT_DISABLE_DOWN 0x01 +#define SC_CELL_SHIFT_DISABLE_RIGHT 0x02 + +class ScInsertContentsDlg : public ModalDialog +{ +public: + ScInsertContentsDlg( Window* pParent, + USHORT nCheckDefaults = 0, + const String* pStrTitle = NULL ); + ~ScInsertContentsDlg(); + + USHORT GetInsContentsCmdBits() const; + USHORT GetFormulaCmdBits() const; + BOOL IsSkipEmptyCells() const {return aBtnSkipEmptyCells.IsChecked();} + BOOL IsTranspose() const {return aBtnTranspose.IsChecked();} + BOOL IsLink() const {return aBtnLink.IsChecked();} + InsCellCmd GetMoveMode(); + + void SetOtherDoc( BOOL bSet ); + void SetFillMode( BOOL bSet ); + void SetChangeTrack( BOOL bSet ); + void SetCellShiftDisabled( int nDisable ); + +private: + CheckBox aBtnInsAll; + CheckBox aBtnInsStrings; + CheckBox aBtnInsNumbers; + CheckBox aBtnInsDateTime; + CheckBox aBtnInsFormulas; + CheckBox aBtnInsNotes; + CheckBox aBtnInsAttrs; + GroupBox aGbFrame; + + CheckBox aBtnSkipEmptyCells; + CheckBox aBtnTranspose; + CheckBox aBtnLink; + GroupBox aGbOptions; + + RadioButton aRbNoOp; + RadioButton aRbAdd; + RadioButton aRbSub; + RadioButton aRbMul; + RadioButton aRbDiv; + GroupBox aGbOperation; + + RadioButton aRbMoveNone; + RadioButton aRbMoveDown; + RadioButton aRbMoveRight; + GroupBox aGbMove; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + BOOL bOtherDoc; + BOOL bFillMode; + BOOL bChangeTrack; + BOOL bMoveDownDisabled; + BOOL bMoveRightDisabled; + + static BOOL bPreviousAllCheck; + static USHORT nPreviousChecks; + static USHORT nPreviousChecks2; + static USHORT nPreviousFormulaChecks; + static USHORT nPreviousMoveMode; // enum InsCellCmd + + void DisableChecks( BOOL bInsAllChecked = TRUE ); + void TestModes(); + + // Handler + DECL_LINK( InsAllHdl, void* ); + DECL_LINK( LinkBtnHdl, void* ); +}; + + +#endif // SC_INSCODLG_HXX + + diff --git a/sc/source/ui/inc/instbdlg.hrc b/sc/source/ui/inc/instbdlg.hrc new file mode 100644 index 000000000000..d72d2d2e7ac8 --- /dev/null +++ b/sc/source/ui/inc/instbdlg.hrc @@ -0,0 +1,92 @@ +/************************************************************************* + * + * $RCSfile: instbdlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +//================================================================== +// StarCalc Dialog: Tabelle einfuegen (Resource-IDs) +// +// (C) 1994 StarDivision GmbH, Hamburg, Germany +// $Author: hr $ $Date: 2000-09-18 16:44:59 $ $Revision: 1.1.1.1 $ +// $Logfile: T:/sc/source/ui/inc/instbdlg.hrv $ $Workfile: instbdlg.hrc $ +//------------------------------------------------------------------ + +#include <sc.hrc> // -> RID_SCDLG_INSERT_TABLE + +//#define RID_SCDLG_INSERT_TABLE 300 + +#define BTN_OK 1 +#define BTN_CANCEL 1 +#define BTN_HELP 1 +#define BTN_NEW 1 +#define BTN_FROMFILE 2 +#define GB_CHOSE 1 +#define FT_PATH 2 +#define ED_TABNAME 1 +#define BTN_BROWSE 1 +#define BTN_LINK 1 +#define LB_TABLES 1 +#define GB_POSITION 20 +#define RB_BEHIND 21 +#define RB_BEFORE 22 +#define GB_TABLE 30 +#define NF_COUNT 30 +#define FT_COUNT 31 +#define FT_NAME 32 + + diff --git a/sc/source/ui/inc/instbdlg.hxx b/sc/source/ui/inc/instbdlg.hxx new file mode 100644 index 000000000000..bdc883d6ee88 --- /dev/null +++ b/sc/source/ui/inc/instbdlg.hxx @@ -0,0 +1,170 @@ +/************************************************************************* + * + * $RCSfile: instbdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_INSTBDLG_HXX +#define SC_INSTBDLG_HXX + +#ifndef _SV_HXX +#endif + + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif +#ifndef _EMBOBJ_HXX //autogen +#include <so3/embobj.hxx> +#endif + +#ifndef _SC_EXPFTEXT_HXX +#include "expftext.hxx" +#endif + +#ifndef SO2_DECL_SVEMBEDDEDOBJECT_DEFINED +#define SO2_DECL_SVEMBEDDEDOBJECT_DEFINED +SO2_DECL_REF(SvEmbeddedObject) +#endif + + +class ScViewData; +class ScDocument; +class ScDocShell; + +//------------------------------------------------------------------------ + +class ScInsertTableDlg : public ModalDialog +{ +public: + ScInsertTableDlg( Window* pParent, ScViewData& rViewData, USHORT nTabCount); + ~ScInsertTableDlg(); + + virtual short Execute(); // ueberladen, um Dialog-Parent zu setzen + + BOOL GetTablesFromFile() { return aBtnFromFile.IsChecked(); } + BOOL GetTablesAsLink() { return aBtnLink.IsChecked(); } + + const String* GetFirstTable( USHORT* pN = NULL ); + const String* GetNextTable( USHORT* pN = NULL ); + ScDocShell* GetDocShellTables() { return pDocShTables; } + BOOL IsTableBefore() { return aBtnBefore.IsChecked(); } + USHORT GetTableCount() { return nTableCount;} + +private: + RadioButton aBtnBefore; + RadioButton aBtnBehind; + GroupBox aGbPos; + RadioButton aBtnNew; + RadioButton aBtnFromFile; + FixedText aFtCount; + NumericField aNfCount; + FixedText aFtName; + Edit aEdName; + MultiListBox aLbTables; + ScExpandedFixedText aFtPath; + PushButton aBtnBrowse; + CheckBox aBtnLink; + GroupBox aGbTable; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + ScViewData& rViewData; + ScDocument& rDoc; + ScDocShell* pDocShTables; + SvEmbeddedObjectRef aDocShTablesRef; + + USHORT nSelTabIndex; // fuer GetFirstTable() / GetNextTable() + String aStrCurSelTable; + USHORT nTableCount; + +#ifdef SC_INSTBDLG_CXX + void Init_Impl(); + void SetNewTable_Impl(); + void SetFromTo_Impl(); + void FillTables_Impl( ScDocument* pSrcDoc ); + void DoEnable_Impl(); + + DECL_LINK( BrowseHdl_Impl, PushButton* ); + DECL_LINK( ChoiceHdl_Impl, RadioButton* ); + DECL_LINK( SelectHdl_Impl, MultiListBox* ); + DECL_LINK( CountHdl_Impl, NumericField* ); + DECL_LINK( DoEnterHdl, PushButton* ); +#endif +}; + + +#endif // SC_INSTBDLG_HXX + + diff --git a/sc/source/ui/inc/invmerge.hxx b/sc/source/ui/inc/invmerge.hxx new file mode 100644 index 000000000000..398fdfbe6fa1 --- /dev/null +++ b/sc/source/ui/inc/invmerge.hxx @@ -0,0 +1,93 @@ +/************************************************************************* + * + * $RCSfile: invmerge.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_INVMERGE_HXX +#define SC_INVMERGE_HXX + +#ifndef _SV_GEN_HXX +#include <tools/gen.hxx> +#endif + +class Window; + +class ScInvertMerger +{ +private: + Window* pWin; + Rectangle aTotalRect; + Rectangle aLineRect; + + void FlushLine(); + void FlushTotal(); + +public: + ScInvertMerger( Window* pWindow ); + ~ScInvertMerger(); + + void AddRect( const Rectangle& rRect ); + void Flush(); +}; + + + +#endif + + diff --git a/sc/source/ui/inc/lbseldlg.hxx b/sc/source/ui/inc/lbseldlg.hxx new file mode 100644 index 000000000000..f3bc14691cb3 --- /dev/null +++ b/sc/source/ui/inc/lbseldlg.hxx @@ -0,0 +1,111 @@ +/************************************************************************* + * + * $RCSfile: lbseldlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_LBSELDLG_HXX +#define SC_LBSELDLG_HXX + + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +//------------------------------------------------------------------------ + +class ScSelEntryDlg : public ModalDialog +{ +private: + ListBox aLb; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + FixedText aFtLbTitle; + + DECL_LINK( DblClkHdl, void * ); + +public: + ScSelEntryDlg( Window* pParent, + USHORT nResId, + const String& aTitle, + const String& aLbTitle, + List& aEntryList ); + ~ScSelEntryDlg(); + + String GetSelectEntry() const; + USHORT GetSelectEntryPos() const; +}; + + +#endif // SC_LBSELDLG_HXX + + diff --git a/sc/source/ui/inc/makefile.mk b/sc/source/ui/inc/makefile.mk new file mode 100644 index 000000000000..412787b75a82 --- /dev/null +++ b/sc/source/ui/inc/makefile.mk @@ -0,0 +1,61 @@ +#************************************************************************* +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1.1.1 $ +# +# last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ +# +# The Contents of this file are made available subject to the terms of +# either of the following licenses +# +# - GNU Lesser General Public License Version 2.1 +# - Sun Industry Standards Source License Version 1.1 +# +# Sun Microsystems Inc., October, 2000 +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2000 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License version 2.1, as published by the Free Software Foundation. +# +# This library 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 for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# +# Sun Industry Standards Source License Version 1.1 +# ================================================= +# The contents of this file are subject to the Sun Industry Standards +# Source License Version 1.1 (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.openoffice.org/license.html. +# +# Software provided under this License is provided on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +# See the License for the specific provisions governing your rights and +# obligations concerning the Software. +# +# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# +# Copyright: 2000 by Sun Microsystems, Inc. +# +# All Rights Reserved. +# +# Contributor(s): _______________________________________ +# +# +# +#************************************************************************* diff --git a/sc/source/ui/inc/miscdlgs.hrc b/sc/source/ui/inc/miscdlgs.hrc new file mode 100644 index 000000000000..ba1f45ecdff3 --- /dev/null +++ b/sc/source/ui/inc/miscdlgs.hrc @@ -0,0 +1,213 @@ +/************************************************************************* + * + * $RCSfile: miscdlgs.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // -> RID_SCDLG_DELCELL + // -> RID_SCDLG_INSCELL + // -> RID_SCDLG_DELCONT + // -> RID_SCDLG_INSCONT + // -> RID_SCDLG_MOVETAB + // -> RID_SCDLG_STRINPUT + // -> RID_SCDLG_MTRINPUT + // -> RID_SCDLG_SELENTRY + // -> RID_SCDLG_FILLSERIES + // -> RID_SCDLG_AUTOFORMAT + +// Fuer den DesignEditor: +/* +#define RID_SCDLG_DELCELL 1256 +#define RID_SCDLG_INSCELL 1257 +#define RID_SCDLG_DELCONT 1258 +#define RID_SCDLG_INSCONT 1259 +#define RID_SCDLG_MOVETAB 1260 +#define RID_SCDLG_STRINPUT 1261 +#define RID_SCDLG_MTRINPUT 1262 +#define RID_SCDLG_SELENTRY 1263 +#define RID_SCDLG_FILLSERIES 1264 +#define RID_SCDLG_AUTOFORMAT 1255 +*/ + +// allgemein +#define BTN_OK 100 +#define BTN_CANCEL 102 +#define BTN_HELP 103 +#define BTN_MORE 104 +#define BTN_ADD 105 +#define BTN_REMOVE 106 +#define FT_LABEL 110 +#define GB_FRAME 111 +#define STR_BTN_CLOSE 200 + +// Zellen loeschen/einfuegen Dialog +#define BTN_CELLSUP 10 +#define BTN_CELLSDOWN 11 +#define BTN_CELLSRIGHT 12 +#define BTN_CELLSLEFT 13 +#define BTN_DELROWS 14 +#define BTN_DELCOLS 15 +#define BTN_INSROWS 16 +#define BTN_INSCOLS 17 + +// Inhalte loeschen/einfuegen Dialog +#define BTN_DELALL 10 +#define BTN_DELSTRINGS 11 +#define BTN_DELNUMBERS 12 +#define BTN_DELDATETIME 13 +#define BTN_DELFORMULAS 14 +#define BTN_DELATTRS 15 +#define BTN_DELNOTES 16 +#define BTN_DELOBJECTS 17 +#define BTN_INSALL 20 +#define BTN_INSSTRINGS 21 +#define BTN_INSNUMBERS 22 +#define BTN_INSDATETIME 23 +#define BTN_INSFORMULAS 24 +#define BTN_INSATTRS 25 +#define BTN_INSNOTES 26 +#define BTN_OP_NOOP 27 +#define BTN_OP_ADD 28 +#define BTN_OP_SUB 29 +#define BTN_OP_MUL 30 +#define BTN_OP_DIV 31 +#define GB_OPERATION 32 +#define BTN_SKIP_EMPTY 33 +#define BTN_TRANSPOSE 34 +#define BTN_LINK 35 +#define GB_OPTIONS 36 +#define BTN_MV_NONE 37 +#define BTN_MV_DOWN 38 +#define BTN_MV_RIGHT 39 +#define GB_MOVE 40 + +// Tabelle einfügen/löschen +#define FT_DEST 1 +#define LB_DEST 2 +#define FT_INSERT 3 +#define LB_INSERT 4 +#define BTN_COPY 5 +#define STR_NEWDOC 6 + +// Eingabe eines Strings +#define ED_INPUT 10 + +// Eingabe einer Metrik +#define ED_VALUE 1 +#define BTN_DEFVAL 1 + +// Auswahl aus einer (String-)ListBox +#define LB_ENTRYLIST 10 + +// Reihen fuellen +#define BTN_LEFT 1 +#define BTN_RIGHT 2 +#define BTN_TOP 3 +#define BTN_BOTTOM 4 +#define GB_DIRECTION 9 +#define BTN_ARITHMETIC 10 +#define BTN_GEOMETRIC 11 +#define BTN_DATE 12 +#define BTN_AUTOFILL 13 +#define GB_TYPE 19 +#define BTN_DAY 20 +#define BTN_DAY_OF_WEEK 21 +#define BTN_MONTH 22 +#define BTN_YEAR 23 +#define GB_TIME_UNIT 29 +#define FT_INCREMENT 30 +#define ED_INCREMENT 39 +#define FT_END_VALUE 40 +#define ED_END_VALUES 49 +#define STR_VALERR 50 +#define FT_START_VALUE 51 +#define ED_START_VALUES 52 + +// Autoformat +#define LB_FORMAT 1 +#define FT_FORMAT 9 +#define GB_PREVIEW 10 +#define WND_PREVIEW 19 +#define BTN_NUMFORMAT 20 +#define BTN_BORDER 21 +#define BTN_FONT 23 +#define BTN_PATTERN 24 +#define BTN_ALIGNMENT 25 +#define BTN_ADJUST 26 +#define BTN_RENAME 27 +#define GB_FORMAT 29 +#define STR_ADD_TITLE 100 +#define STR_ADD_LABEL 101 +#define STR_DEL_TITLE 102 +#define STR_DEL_MSG 103 +#define STR_RENAME_TITLE 104 + // Autoformat-Preview: +#define STR_JAN 121 +#define STR_FEB 122 +#define STR_MAR 123 +#define STR_NORTH 124 +#define STR_MID 125 +#define STR_SOUTH 126 +#define STR_SUM 127 + +// Gruppierung setzen/aufheben: +#define BTN_GROUP_COLS 1 +#define BTN_GROUP_ROWS 3 +#define STR_GROUP 1 +#define STR_UNGROUP 2 + diff --git a/sc/source/ui/inc/msgpool.hxx b/sc/source/ui/inc/msgpool.hxx new file mode 100644 index 000000000000..2c810339e5fa --- /dev/null +++ b/sc/source/ui/inc/msgpool.hxx @@ -0,0 +1,120 @@ +/************************************************************************* + * + * $RCSfile: msgpool.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_MSGPOOL_HXX +#define SC_MSGPOOL_HXX + +#ifndef SC_ITEMS_HXX +#include "scitems.hxx" +#endif +#ifndef _SVX_SRCHITEM_HXX +#include <svx/srchitem.hxx> +#endif + + +#ifndef _SFXITEMPOOL_HXX //autogen +#include <svtools/itempool.hxx> +#endif +#ifndef _SFXSTRITEM_HXX //autogen +#include <svtools/stritem.hxx> +#endif +#ifndef _SFXENUMITEM_HXX //autogen +#include <svtools/eitem.hxx> +#endif + +//#include <dbitems.hxx> +#include "uiitems.hxx" + + +//------------------------------------------------------------------------ + +class ScDocumentPool; + +//------------------------------------------------------------------------ + +class ScMessagePool: public SfxItemPool +{ + SfxStringItem aGlobalStringItem; + SvxSearchItem aGlobalSearchItem; + ScSortItem aGlobalSortItem; + ScQueryItem aGlobalQueryItem; + ScSubTotalItem aGlobalSubTotalItem; + ScConsolidateItem aGlobalConsolidateItem; + ScPivotItem aGlobalPivotItem; + ScSolveItem aGlobalSolveItem; + ScUserListItem aGlobalUserListItem; + + SfxBoolItem aPrintWarnItem; + + SfxPoolItem** ppPoolDefaults; + ScDocumentPool* pDocPool; + +public: + ScMessagePool(); + ~ScMessagePool(); + + virtual SfxMapUnit GetMetric( USHORT nWhich ) const; +}; + + + +#endif + diff --git a/sc/source/ui/inc/mtrindlg.hxx b/sc/source/ui/inc/mtrindlg.hxx new file mode 100644 index 000000000000..7d3a19b53cfb --- /dev/null +++ b/sc/source/ui/inc/mtrindlg.hxx @@ -0,0 +1,122 @@ +/************************************************************************* + * + * $RCSfile: mtrindlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_MTRINDLG_HXX +#define SC_MTRINDLG_HXX + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + + +//------------------------------------------------------------------------ + +class ScMetricInputDlg : public ModalDialog +{ +public: + ScMetricInputDlg( Window* pParent, + USHORT nResId, // Ableitung fuer jeden Dialog! + long nCurrent, + long nDefault, + FieldUnit eFUnit = FUNIT_MM, + USHORT nDecimals = 2, + long nMaximum = 1000, + long nMinimum = 0, + long nFirst = 1, + long nLast = 100, + long nSpinSize = 1 ); + ~ScMetricInputDlg(); + + long GetInputValue( FieldUnit eUnit = FUNIT_TWIP ) const; + +private: + FixedText aFtEditTitle; + MetricField aEdValue; + CheckBox aBtnDefVal; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + long nDefaultValue; + long nCurrentValue; + + void CalcPositions(); + DECL_LINK( SetDefValHdl, CheckBox * ); + DECL_LINK( ModifyHdl, MetricField * ); +}; + +#endif // SC_MTRINDLG_HXX + + + + + diff --git a/sc/source/ui/inc/mvtabdlg.hxx b/sc/source/ui/inc/mvtabdlg.hxx new file mode 100644 index 000000000000..3b2201137917 --- /dev/null +++ b/sc/source/ui/inc/mvtabdlg.hxx @@ -0,0 +1,119 @@ +/************************************************************************* + * + * $RCSfile: mvtabdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_MVTABDLG_HXX +#define SC_MVTABDLG_HXX + + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +//------------------------------------------------------------------------ + +class ScMoveTableDlg : public ModalDialog +{ +public: + ScMoveTableDlg( Window* pParent ); + ~ScMoveTableDlg(); + + USHORT GetSelectedDocument () const; + USHORT GetSelectedTable () const; + BOOL GetCopyTable () const; + void SetCopyTable (BOOL bFlag=TRUE); + void EnableCopyTable (BOOL bFlag=TRUE); + +private: + ListBox aLbDoc; + ListBox aLbTable; + FixedText aFtDoc; + FixedText aFtTable; + CheckBox aBtnCopy; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + USHORT nDocument; + USHORT nTable; + BOOL bCopyTable; + //-------------------------------------- + void Init (); + void InitDocListBox (); + DECL_LINK( OkHdl, void * ); + DECL_LINK( SelHdl, ListBox * ); +}; + + +#endif // SC_MVTABDLG_HXX + + diff --git a/sc/source/ui/inc/namecrea.hxx b/sc/source/ui/inc/namecrea.hxx new file mode 100644 index 000000000000..5c35e37fae88 --- /dev/null +++ b/sc/source/ui/inc/namecrea.hxx @@ -0,0 +1,101 @@ +/************************************************************************* + * + * $RCSfile: namecrea.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_NAMECREA_HXX +#define SC_NAMECREA_HXX + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + + +#define NAME_TOP 1 +#define NAME_LEFT 2 +#define NAME_BOTTOM 4 +#define NAME_RIGHT 8 + +class ScNameCreateDlg : public ModalDialog +{ +protected: + CheckBox aTopBox; + CheckBox aLeftBox; + CheckBox aBottomBox; + CheckBox aRightBox; + OKButton aOKButton; + CancelButton aCancelButton; + HelpButton aHelpButton; + GroupBox aGroupBox; +public: + ScNameCreateDlg( Window * pParent, USHORT nFlags ); + + USHORT GetFlags() const; +}; + + +#endif //SC_NAMECREA_HXX diff --git a/sc/source/ui/inc/namedlg.hrc b/sc/source/ui/inc/namedlg.hrc new file mode 100644 index 000000000000..7121c22a0deb --- /dev/null +++ b/sc/source/ui/inc/namedlg.hrc @@ -0,0 +1,86 @@ +/************************************************************************* + * + * $RCSfile: namedlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // -> RID_SCDLG_NAMES + +#define BTN_OK 1 +#define BTN_CANCEL 2 +#define BTN_ADD 3 +#define BTN_REMOVE 4 +#define BTN_HELP 5 +#define BTN_MORE 6 +// +#define GB_NAME 11 +#define ED_NAME 12 +#define GB_ASSIGN 13 +#define ED_ASSIGN 15 +#define RB_ASSIGN 16 +// +#define STR_ADD 21 +#define STR_MODIFY 22 +#define STR_INVALIDSYMBOL 23 +// +#define BTN_CRITERIA 31 +#define BTN_PRINTAREA 32 +#define BTN_COLHEADER 33 +#define BTN_ROWHEADER 34 +#define GB_TYPE 35 + diff --git a/sc/source/ui/inc/namedlg.hxx b/sc/source/ui/inc/namedlg.hxx new file mode 100644 index 000000000000..20bf59a81881 --- /dev/null +++ b/sc/source/ui/inc/namedlg.hxx @@ -0,0 +1,165 @@ +/************************************************************************* + * + * $RCSfile: namedlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_NAMEDLG_HXX +#define SC_NAMEDLG_HXX + +#ifndef VCL +#endif + +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef SC_RANGENAM_HXX +#include "rangenam.hxx" +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +class ScViewData; +class ScDocument; + + +//================================================================== + +class ScNameDlg : public ScAnyRefDlg +{ +private: + ComboBox aEdName; + GroupBox aGbName; + + GroupBox aGbAssign; + ScRefEdit aEdAssign; + ScRefButton aRbAssign; + + GroupBox aGbType; + CheckBox aBtnPrintArea; + CheckBox aBtnColHeader; + CheckBox aBtnCriteria; + CheckBox aBtnRowHeader; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + PushButton aBtnAdd; + PushButton aBtnRemove; + MoreButton aBtnMore; + BOOL bSaved; + + const String aStrAdd; // "Hinzufuegen" + const String aStrModify; // "Aendern" + const String errMsgInvalidSym; + + ScViewData* pViewData; + ScDocument* pDoc; + ScRangeName aLocalRangeName; + const ScAddress theCursorPos; + Selection theCurSel; + +#ifdef _NAMEDLG_CXX +private: + void Init(); + void UpdateChecks(); + void UpdateNames(); + void CalcCurTableAssign( String& aAssign, USHORT nPos ); + + // Handler: + DECL_LINK( OkBtnHdl, void * ); + DECL_LINK( CancelBtnHdl, void * ); + DECL_LINK( AddBtnHdl, void * ); + DECL_LINK( RemoveBtnHdl, void * ); + DECL_LINK( EdModifyHdl, Edit * ); + DECL_LINK( NameSelectHdl, void * ); + DECL_LINK( AssignGetFocusHdl, void * ); +#endif + +protected: + + virtual void RefInputDone( BOOL bForced = FALSE ); + + +public: + ScNameDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + ScViewData* ptrViewData, + const ScAddress& aCursorPos ); + ~ScNameDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + virtual BOOL IsRefInputMode() const; + + virtual void SetActive(); + virtual BOOL Close(); + +}; + + + +#endif // SC_NAMEDLG_HXX + diff --git a/sc/source/ui/inc/namepast.hxx b/sc/source/ui/inc/namepast.hxx new file mode 100644 index 000000000000..aee54955c1cf --- /dev/null +++ b/sc/source/ui/inc/namepast.hxx @@ -0,0 +1,106 @@ +/************************************************************************* + * + * $RCSfile: namepast.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_NAMEPAST_HXX +#define SC_NAMEPAST_HXX + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#define BTN_PASTE_NAME 100 +#define BTN_PASTE_LIST 101 + +class ScRangeName; + +class ScNamePasteDlg : public ModalDialog +{ + DECL_LINK( ButtonHdl, Button * ); + DECL_LINK( ListSelHdl, ListBox * ); + DECL_LINK( ListDblClickHdl, ListBox * ); + +protected: + FixedText aLabelText; + ListBox aNameList; + OKButton aOKButton; + CancelButton aCancelButton; + HelpButton aHelpButton; + PushButton aInsListButton; +public: + ScNamePasteDlg( Window * pParent, const ScRangeName* pList, BOOL bInsList=TRUE ); + + String GetSelectedName() const; +}; + + +#endif //SC_NAMEPAST_HXX diff --git a/sc/source/ui/inc/navcitem.hxx b/sc/source/ui/inc/navcitem.hxx new file mode 100644 index 000000000000..b4bfeed89793 --- /dev/null +++ b/sc/source/ui/inc/navcitem.hxx @@ -0,0 +1,91 @@ +/************************************************************************* + * + * $RCSfile: navcitem.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:44:59 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_NAVCITEM_HXX +#define SC_NAVCITEM_HXX + + +#ifndef _SFXCTRLITEM_HXX //autogen +#include <sfx2/ctrlitem.hxx> +#endif + + +//================================================================== + +class ScNavigatorDlg; + +class ScNavigatorControllerItem : public SfxControllerItem +{ +public: + ScNavigatorControllerItem( USHORT nId, + ScNavigatorDlg& rDlg, + SfxBindings& rBindings ); +protected: + virtual void StateChanged( USHORT nSID, SfxItemState eState, + const SfxPoolItem* pItem ); + +private: + ScNavigatorDlg& rNavigatorDlg; +}; + + +#endif // SC_NAVCITEM_HXX + diff --git a/sc/source/ui/inc/navipi.hxx b/sc/source/ui/inc/navipi.hxx new file mode 100644 index 000000000000..e256302ef6a7 --- /dev/null +++ b/sc/source/ui/inc/navipi.hxx @@ -0,0 +1,405 @@ +/************************************************************************* + * + * $RCSfile: navipi.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_NAVIPI_HXX +#define SC_NAVIPI_HXX + +#ifndef _TOOLBOX_HXX //autogen +#include <vcl/toolbox.hxx> +#endif +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#ifndef _SFXPOOLITEM_HXX //autogen +#include <svtools/poolitem.hxx> +#endif +#ifndef _SFXLSTNER_HXX //autogen +#include <svtools/lstner.hxx> +#endif +#ifndef _SFX_CHILDWIN_HXX //autogen +#include <sfx2/childwin.hxx> +#endif + +#ifndef SC_CONTENT_HXX +#include "content.hxx" +#endif + +#ifndef _SVEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + + +class ScViewData; +class ScArea; +class ScScenarioWindow; +class ScNavigatorControllerItem; +class ScNavigatorDialogWrapper; +class ScNavigatorDlg; +class ScRange; + +//======================================================================== + +#define SC_DROPMODE_URL 0 +#define SC_DROPMODE_LINK 1 +#define SC_DROPMODE_COPY 2 + +enum NavListMode { NAV_LMODE_NONE = 0x4000, + NAV_LMODE_AREAS = 0x2000, + NAV_LMODE_DBAREAS = 0x1000, + NAV_LMODE_DOCS = 0x800, + NAV_LMODE_SCENARIOS = 0x400 }; + +//======================================================================== +// class ScScenarioListBox ----------------------------------------------- +//======================================================================== +class ScScenarioListBox : public ListBox +{ +public: + ScScenarioListBox( Window* pParent ); + ~ScScenarioListBox(); + + void UpdateEntries( List* pNewEntryList ); + +protected: + virtual void Select(); + virtual void DoubleClick(); + virtual void GetFocus(); + virtual void LoseFocus(); + virtual long Notify( NotifyEvent& rNEvt ); + +private: + ScScenarioWindow& rParent; + List aEntryList; + String aCurText; + Accelerator* pAccel; + void ClearEntryList(); + void CopyEntryList( List& rNewList ); + DECL_LINK( AccelSelectHdl, Accelerator * ); +}; + +//======================================================================== +// class ScScenarioWindow ------------------------------------------------ +//======================================================================== +class ScScenarioWindow : public Window +{ +public: + ScScenarioWindow( Window* pParent,const String& aQH_List,const String& aQH_Comment); + ~ScScenarioWindow(); + + void NotifyState( const SfxPoolItem* pState ); + void SetComment( const String& rComment ) + { aEdComment.SetText( rComment ); } + + void SetSizePixel( const Size& rNewSize ); + +protected: + + virtual void Paint( const Rectangle& rRec ); + +private: + ScScenarioListBox aLbScenario; + MultiLineEdit aEdComment; +}; + +//================================================================== +// class ColumnEdit +//================================================================== +class ColumnEdit : public SpinField +{ +public: + ColumnEdit( ScNavigatorDlg* pParent, const ResId& rResId ); + ~ColumnEdit(); + + USHORT GetCol() { return nCol; } + void SetCol( USHORT nColNo ); + +protected: +#ifdef VCL + virtual long Notify( NotifyEvent& rNEvt ); +#else + virtual void KeyInput( const KeyEvent& rKEvt ); +#endif + virtual void LoseFocus(); + virtual void Up(); + virtual void Down(); + virtual void First(); + virtual void Last(); + +private: + ScNavigatorDlg& rDlg; + USHORT nCol; + USHORT nKeyGroup; + + void EvalText (); + void ExecuteCol (); + USHORT AlphaToNum ( String& rStr ); + USHORT NumStrToAlpha ( String& rStr ); + USHORT NumToAlpha ( USHORT nColNo, String& rStr ); +}; + + +//================================================================== +// class RowEdit +//================================================================== +class RowEdit : public NumericField +{ +public: + RowEdit( ScNavigatorDlg* pParent, const ResId& rResId ); + ~RowEdit(); + + USHORT GetRow() { return (USHORT)GetValue(); } + void SetRow( USHORT nRow ){ SetValue( nRow ); } + +protected: +#ifdef VCL + virtual long Notify( NotifyEvent& rNEvt ); +#else + virtual void KeyInput( const KeyEvent& rKEvt ); +#endif + virtual void LoseFocus(); + +private: + ScNavigatorDlg& rDlg; + + void ExecuteRow(); +}; + + +//================================================================== +// class ScDocListBox +//================================================================== +class ScDocListBox : public ListBox +{ +public: + ScDocListBox( ScNavigatorDlg* pParent, const ResId& rResId ); + ~ScDocListBox(); + +protected: + virtual void Select(); + +private: + ScNavigatorDlg& rDlg; +}; + + +//================================================================== +// class CommandToolBox +//================================================================== +class CommandToolBox : public ToolBox +{ +public: + CommandToolBox( ScNavigatorDlg* pParent, const ResId& rResId ); + ~CommandToolBox(); + + void Select( USHORT nId ); + void UpdateButtons(); + +protected: + virtual void Select(); + virtual void Click(); + +private: + ScNavigatorDlg& rDlg; +}; + +//================================================================== +// class ScNavigatorDlg +//================================================================== + +class ScNavigatorDlg : public Window, public SfxListener +{ +friend class ScNavigatorControllerItem; +friend class ScNavigatorDialogWrapper; +friend class ColumnEdit; +friend class RowEdit; +friend class ScDocListBox; +friend class CommandToolBox; +friend class ScContentTree; + +private: + FixedInfo aFtCol; + ColumnEdit aEdCol; + FixedInfo aFtRow; + RowEdit aEdRow; + CommandToolBox aTbxCmd; + ScContentTree aLbEntries; + ScDocListBox aLbDocuments; + ScScenarioWindow aWndScenarios; + + Timer aContentTimer; + + String aTitleBase; + String aStrDragMode; + String aStrDisplay; + String aStrActive; + String aStrNotActive; + String aStrHidden; + String aStrActiveWin; + + SfxChildWindowContext* pContextWin; + Size aInitSize; + ScArea* pMarkArea; + ScViewData* pViewData; + long nBorderOffset; + long nListModeHeight; + long nInitListHeight; + NavListMode eListMode; + USHORT nDropMode; + USHORT nCurCol; + USHORT nCurRow; + USHORT nCurTab; + BOOL bFirstBig; + + ScNavigatorControllerItem** ppBoundItems; + SfxBindings& rBindings; + + DECL_LINK( TimeHdl, Timer* ); + + void DoResize(); + + BOOL GetDBAtCursor( String& rStrName ); + BOOL GetAreaAtCursor( String& rStrName ); + + void SetCurrentCell( USHORT nCol, USHORT Row ); + void SetCurrentCellStr( const String rName ); + void SetCurrentTable( USHORT nTab ); + void SetCurrentTableStr( const String rName ); + void SetCurrentObject( const String rName ); + void SetCurrentDoc( const String& rDocName ); + + BOOL GetViewData (); + void UpdateColumn ( const USHORT* pCol = NULL ); + void UpdateRow ( const USHORT* pRow = NULL ); + void UpdateTable ( const USHORT* pTab = NULL ); + void UpdateAll (); + + void GetDocNames(const String* pSelEntry = NULL); + + void SetListMode ( NavListMode eMode, BOOL bSetSize = TRUE ); + void ShowList ( BOOL bShow, BOOL bSetSize ); + void ShowScenarios ( BOOL bShow, BOOL bSetSize ); + + void SetDropMode(USHORT nNew); + USHORT GetDropMode() const { return nDropMode; } + + const String& GetStrDragMode() const { return aStrDragMode; } + const String& GetStrDisplay() const { return aStrDisplay; } + + void CheckDataArea (); + void MarkDataArea (); + void UnmarkDataArea (); + void StartOfDataArea (); + void EndOfDataArea (); + + static void ReleaseFocus(); + +protected: + virtual void Resize(); + virtual void Paint( const Rectangle& rRec ); + virtual void Resizing( Size& rSize ); + + virtual BOOL Drop( const DropEvent& rEvt ); + virtual BOOL QueryDrop( DropEvent& rEvt ); + +public: + ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, Window* pParent ); + ~ScNavigatorDlg(); + + virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, + const SfxHint& rHint, const TypeId& rHintType ); + + void CursorPosChanged(); + + virtual SfxChildAlignment + CheckAlignment(SfxChildAlignment,SfxChildAlignment); +}; + +//================================================================== + +class ScNavigatorDialogWrapper: public SfxChildWindowContext +{ +public: + ScNavigatorDialogWrapper( Window* pParent, + USHORT nId, + SfxBindings* pBindings, + SfxChildWinInfo* pInfo ); + + SFX_DECL_CHILDWINDOW_CONTEXT(ScNavigatorDialogWrapper) + + virtual void Resizing( Size& rSize ); + + virtual BOOL Drop( const DropEvent& rEvt ); + virtual BOOL QueryDrop( DropEvent& rEvt ); + +private: + ScNavigatorDlg* pNavigator; +}; + + + +#endif // SC_NAVIPI_HXX + diff --git a/sc/source/ui/inc/notemark.hxx b/sc/source/ui/inc/notemark.hxx new file mode 100644 index 000000000000..47bc4183219a --- /dev/null +++ b/sc/source/ui/inc/notemark.hxx @@ -0,0 +1,117 @@ +/************************************************************************* + * + * $RCSfile: notemark.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_NOTEMARK_HXX +#define SC_NOTEMARK_HXX + +#ifndef _MAPMOD_HXX //autogen +#include <vcl/mapmod.hxx> +#endif +#ifndef _TIMER_HXX //autogen +#include <vcl/timer.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +class SdrModel; +class SdrObject; + +class ScNoteMarker +{ +private: + Window* pWindow; + Window* pRightWin; + Window* pBottomWin; + Window* pDiagWin; + ScDocument* pDoc; + ScAddress aDocPos; + String aUserText; + Timer aTimer; + MapMode aMapMode; + BOOL bLeft; + + Rectangle aRect; + SdrModel* pModel; + SdrObject* pObject; + BOOL bVisible; + + DECL_LINK( TimeHdl, Timer* ); + +public: + ScNoteMarker( Window* pWin, + Window* pRight, Window* pBottom, Window* pDiagonal, + ScDocument* pD, ScAddress aPos, + const String& rUser, const MapMode& rMap, + BOOL bLeftEdge, BOOL bForce ); + ~ScNoteMarker(); + + void Draw(); + void InvalidateWin(); + + ScAddress GetDocPos() const { return aDocPos; } +}; + + + +#endif + diff --git a/sc/source/ui/inc/oleobjsh.hxx b/sc/source/ui/inc/oleobjsh.hxx new file mode 100644 index 000000000000..65f7538ee995 --- /dev/null +++ b/sc/source/ui/inc/oleobjsh.hxx @@ -0,0 +1,93 @@ +/************************************************************************* + * + * $RCSfile: oleobjsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef OLEOBJSH_HXX +#define OLEOBJSH_HXX + +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif +#include "shellids.hxx" +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif + +#ifndef _SVDMARK_HXX //autogen +#include <svx/svdmark.hxx> +#endif + +class ScViewData; + +#include "drawsh.hxx" + +class ScOleObjectShell: public ScDrawShell +{ +public: + + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_OLEOBJECT_SHELL); + + ScOleObjectShell(ScViewData* pData); + virtual ~ScOleObjectShell(); + +}; + +#endif diff --git a/sc/source/ui/inc/olinefun.hxx b/sc/source/ui/inc/olinefun.hxx new file mode 100644 index 000000000000..9f10400abd90 --- /dev/null +++ b/sc/source/ui/inc/olinefun.hxx @@ -0,0 +1,104 @@ +/************************************************************************* + * + * $RCSfile: olinefun.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_OLINEFUN_HXX +#define SC_OLINEFUN_HXX + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +class ScDocShell; +class ScRange; + + +// --------------------------------------------------------------------------- + +class ScOutlineDocFunc +{ +private: + ScDocShell& rDocShell; + +public: + ScOutlineDocFunc( ScDocShell& rDocSh ): rDocShell(rDocSh) {} + ~ScOutlineDocFunc() {} + + BOOL MakeOutline( const ScRange& rRange, BOOL bColumns, BOOL bRecord, BOOL bApi ); + BOOL RemoveOutline( const ScRange& rRange, BOOL bColumns, BOOL bRecord, BOOL bApi ); + BOOL RemoveAllOutlines( USHORT nTab, BOOL bRecord, BOOL bApi ); + BOOL AutoOutline( const ScRange& rRange, BOOL bRecord, BOOL bApi ); + + BOOL SelectLevel( USHORT nTab, BOOL bColumns, USHORT nLevel, + BOOL bRecord, BOOL bPaint, BOOL bApi ); + + BOOL ShowMarkedOutlines( const ScRange& rRange, BOOL bRecord, BOOL bApi ); + BOOL HideMarkedOutlines( const ScRange& rRange, BOOL bRecord, BOOL bApi ); + + BOOL ShowOutline( USHORT nTab, BOOL bColumns, USHORT nLevel, USHORT nEntry, + BOOL bRecord, BOOL bPaint, BOOL bApi ); + BOOL HideOutline( USHORT nTab, BOOL bColumns, USHORT nLevel, USHORT nEntry, + BOOL bRecord, BOOL bPaint, BOOL bApi ); +}; + + + +#endif + diff --git a/sc/source/ui/inc/olinewin.hxx b/sc/source/ui/inc/olinewin.hxx new file mode 100644 index 000000000000..02855f0fae1d --- /dev/null +++ b/sc/source/ui/inc/olinewin.hxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * $RCSfile: olinewin.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_OLINEWIN_HXX +#define SC_OLINEWIN_HXX + +#ifndef _SV_HXX +#endif + +#include "viewdata.hxx" + +class ScOutlineEntry; +class ScOutlineTable; + + +enum ScOutlineMode { SC_OUTLINE_HOR, SC_OUTLINE_VER }; + + +class ScOutlineWindow : public Window +{ +private: + ScOutlineMode eMode; + USHORT nHeaderSize; + ScSplitPos eWhich; + ScViewData* pViewData; + + Color aColor; + + BOOL bHitMode; // Knopf gedrueckt ? + USHORT nHitLevel; + USHORT nHitEntry; + BOOL bHitHeader; + Rectangle aInvRect; + BOOL bIsInverted; + + + BOOL GetEntryPos( ScOutlineEntry* pEntry, + long& rFirstEntry, long& rSecondEntry, long& rBitmapEntry, + ScOutlineEntry* pPrevious ); + void DoFunction( USHORT nLevel, USHORT nEntry, BOOL bHeader ); + void ToggleRect( const Rectangle& rRect ); + BOOL ButtonHit( const Point& rPos, USHORT& rLevel, USHORT& rEntry, BOOL& rHeader, + Rectangle& rInvRect ); + BOOL LineHit( const Point& rPos, USHORT& rLevel, USHORT& rEntry ); + + BOOL IsFirst(USHORT nPos); + +protected: + virtual void Paint( const Rectangle& rRect ); + + virtual void MouseMove( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt ); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + + void ImplInitSettings(); + + +public: + ScOutlineWindow( Window* pParent, ScOutlineMode eNewMode, + ScViewData* pData, ScSplitPos eNewWhich ); + ~ScOutlineWindow(); + + void ScrollPixel( long nDiff ); + + void SetHeaderSize( USHORT nNewSize ); + + long GetDepthSize(); + + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + +}; + + + +#endif + diff --git a/sc/source/ui/inc/opredlin.hrc b/sc/source/ui/inc/opredlin.hrc new file mode 100644 index 000000000000..3f2d20140c98 --- /dev/null +++ b/sc/source/ui/inc/opredlin.hrc @@ -0,0 +1,72 @@ +/************************************************************************* + * + * $RCSfile: opredlin.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#include "sc.hrc" // -> RID_SCPAGE_OPREDLINE + +#define FT_CONTENT 1 +#define FT_REMOVE 2 +#define FT_INSERT 3 +#define FT_MOVE 4 +#define GB_COLORCHGS 1 +#define CLB_CONTENT 1 +#define CLB_REMOVE 2 +#define CLB_INSERT 3 +#define CLB_MOVE 4 +#define STR_AUTHOR 1 diff --git a/sc/source/ui/inc/opredlin.hxx b/sc/source/ui/inc/opredlin.hxx new file mode 100644 index 000000000000..c3324becb3bf --- /dev/null +++ b/sc/source/ui/inc/opredlin.hxx @@ -0,0 +1,131 @@ +/************************************************************************* + * + * $RCSfile: opredlin.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _SC_OPREDLIN_HXX +#define _SC_OPREDLIN_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _CTRLBOX_HXX //autogen +#include <svtools/ctrlbox.hxx> +#endif + +#ifndef _SVX_FNTCTRL_HXX //autogen +#include <svx/fntctrl.hxx> +#endif + +#ifndef _SVX_STRARRAY_HXX //autogen +#include <svx/strarray.hxx> +#endif + +/*----------------------------------------------------------------------- + Beschreibung: Redlining-Optionen + -----------------------------------------------------------------------*/ + +class ScRedlineOptionsTabPage : public SfxTabPage +{ + FixedText aContentFT; + ColorListBox aContentColorLB; + FixedText aRemoveFT; + ColorListBox aRemoveColorLB; + FixedText aInsertFT; + ColorListBox aInsertColorLB; + FixedText aMoveFT; + ColorListBox aMoveColorLB; + GroupBox aChangedGB; + String aAuthorStr; + DECL_LINK( ColorHdl, ColorListBox *pColorLB ); + + +public: + + ScRedlineOptionsTabPage( Window* pParent, const SfxItemSet& rSet ); + ~ScRedlineOptionsTabPage(); + + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet ); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); +}; +#endif + + diff --git a/sc/source/ui/inc/optdlg.hrc b/sc/source/ui/inc/optdlg.hrc new file mode 100644 index 000000000000..72392bdbcd53 --- /dev/null +++ b/sc/source/ui/inc/optdlg.hrc @@ -0,0 +1,205 @@ +/************************************************************************* + * + * $RCSfile: optdlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" + +/* +#define RID_SCDLG_OPTIONS 256 +#define RID_SCPAGE_VIEW 256 +#define RID_SCPAGE_USERLISTS 257 +#define RID_SCPAGE_CALC 258 +#define RID_SCPAGE_PRINT 259 +*/ + +#define TP_GENERAL 1 +#define TP_SAVE 2 +#define TP_PATH 3 +#define TP_SPELL 4 +#define TP_VIEW 5 +#define TP_CALC 6 +#define TP_USERLISTS 7 +#define TP_PRINT 8 +#define TP_COLORS 9 +#define TP_GRID 10 +#define TP_CONTENT 11 +#define TP_LAYOUT 12 +#define TP_INPUT 13 +#define TP_CHANGES 14 + +// TP_CALC: +#define BTN_ITERATE 1 +#define FT_STEPS 2 +#define FT_EPS 3 +#define ED_STEPS 4 +#define ED_EPS 5 +#define GB_ZREFS 6 +#define ED_PREC 7 +#define FT_PREC 8 +#define BTN_DATESTD 9 +#define BTN_DATESC10 10 +#define BTN_DATE1904 11 +#define FT_VALUE 13 +#define GB_DATE 14 +#define BTN_CASE 15 +#define FT_CASE 16 +#define BTN_CALC 17 +#define BTN_MATCH 18 +#define BTN_LOOKUP 19 + +// TP_VIEW: +#define BTN_VSCROLL 1 +#define BTN_HSCROLL 2 +#define BTN_REGISTER 3 +#define BTN_OUTLINER 4 +#define BTN_HEADERFOOTER 5 +#define BTN_GRID 6 +#define BTN_SYNTAX 7 +#define LB_GRIDCOLOR 9 +#define GB_ELEMENTS 10 +#define BTN_HELPLINES 11 + +#define BTN_FORMULAS 20 +#define BTN_NULLVALS 21 +#define BTN_NOTES 22 +#define GB_CONTENTS 23 + +//#define FT_OLE 31 +//#define FT_CHARTS 32 +//#define FT_DRAWINGS 33 +//#define LB_OLE 34 +//#define LB_CHARTS 35 +//#define LB_DRAWINGS 36 +//#define GB_OBJECTS 37 + + +// TP_USERLISTS: +#define FT_LISTS 1 +#define LB_LISTS 1 +#define FT_ENTRIES 2 +#define ED_ENTRIES 2 +#define FT_COPYFROM 3 +#define ED_COPYFROM 3 +#define BTN_NEW 1 +#define BTN_ADD 2 +#define BTN_REMOVE 3 +#define BTN_COPY 4 +#define STR_QUERYREMOVE 5 +#define STR_DISMISS 6 +#define STR_COPYLIST 7 +#define STR_COPYFROM 8 +#define STR_COPYERR 9 + +// TP_PRINT: +#define BTN_WARNPAPERBIN 1 +#define BTN_WARNPAPERSIZE 2 +#define BTN_WARNPRINTERNOTFOUND 3 +#define GB_WARNINGS 4 + +// TP_LCONTENT + +#define GB_DISPLAY 20 +#define CB_FORMULA 21 +#define CB_NIL 22 +#define CB_ANNOT 23 +#define CB_VALUE 24 +#define CB_ANCHOR 25 +#define GB_OBJECT 26 +#define FT_OBJGRF 27 +#define LB_OBJGRF 28 +#define FT_DIAGRAM 29 +#define LB_DIAGRAM 30 +#define FT_DRAW 31 +#define LB_DRAW 32 +#define CB_CLIP 33 + +// TP_LAYOUT + +#define GB_WINDOW 50 +#define CB_ROWCOLHEADER 51 +#define CB_HSCROLL 52 +#define CB_VSCROLL 53 +#define CB_TBLREG 54 +#define CB_OUTLINE 55 +#define GB_LINES 56 +#define CB_GRID 57 +#define FT_COLOR 58 +#define LB_COLOR 59 +#define CB_GUIDELINE 60 +#define GB_UNIT 61 +#define LB_UNIT 62 +#define ST_UNIT 63 +#define GB_TAB 64 +#define MF_TAB 65 +#define CB_PAGEBREAKS 66 +#define CB_HANDLES 67 +#define CB_BIGHANDLES 68 + +// TP_INPUT + +#define GB_OPTIONS 70 +#define CB_ALIGN 71 +#define LB_ALIGN 72 +#define CB_EDITMODE 73 +#define CB_FORMAT 74 +#define CB_RFIND 75 +#define CB_EXPREF 76 +#define CB_MARKHDR 77 + diff --git a/sc/source/ui/inc/optload.hrc b/sc/source/ui/inc/optload.hrc new file mode 100644 index 000000000000..302848811e95 --- /dev/null +++ b/sc/source/ui/inc/optload.hrc @@ -0,0 +1,74 @@ +/************************************************************************* + * + * $RCSfile: optload.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#include "sc.hrc" // -> RID_SCPAGE_OPREDLINE + +#define GB_LINK 1 +#define RB_ALWAYS 2 +#define RB_REQUEST 3 +#define RB_NEVER 4 +#define CB_DOCONLY 5 +#define CB_MERGE_PARA_DIST 6 +#define GB_COMPAT 7 +#define CB_AUTO_UPDATE_FIELDS 8 +#define CB_AUTO_UPDATE_CHARTS 9 +#define FT_UPDATE_LINKS 10 + + diff --git a/sc/source/ui/inc/optload.hxx b/sc/source/ui/inc/optload.hxx new file mode 100644 index 000000000000..958046657f57 --- /dev/null +++ b/sc/source/ui/inc/optload.hxx @@ -0,0 +1,106 @@ +/************************************************************************* + * + * $RCSfile: optload.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _OPTLOAD_HXX +#define _OPTLOAD_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +class ScDocument; + +class ScLoadOptPage : public SfxTabPage +{ +private: + FixedText aLinkFT; + RadioButton aAlwaysRB; + RadioButton aRequestRB; + RadioButton aNeverRB; + CheckBox aDocOnlyCB; + GroupBox aLinkGB; + ScDocument *pDoc; + + DECL_LINK( UpdateHdl, CheckBox* ); + +public: + ScLoadOptPage( Window* pParent, + const SfxItemSet& rSet ); + ~ScLoadOptPage(); + + static SfxTabPage* Create( Window* pParent, + const SfxItemSet& rAttrSet); + + void SetDocument(ScDocument*); + + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset( const SfxItemSet& rSet ); +}; + +#endif + + diff --git a/sc/source/ui/inc/output.hxx b/sc/source/ui/inc/output.hxx new file mode 100644 index 000000000000..e188efa0b03a --- /dev/null +++ b/sc/source/ui/inc/output.hxx @@ -0,0 +1,262 @@ +/************************************************************************* + * + * $RCSfile: output.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_OUTPUT_HXX +#define SC_OUTPUT_HXX + +#ifndef _LIST_HXX //autogen +#include <tools/list.hxx> +#endif +#ifndef _TOOLS_COLOR_HXX +#include <tools/color.hxx> +#endif +#ifndef _FRACT_HXX //autogen +#include <tools/fract.hxx> +#endif + +class Rectangle; +class Font; +class OutputDevice; +class Window; +class EditEngine; +class ScDocument; +class ScBaseCell; +class ScPatternAttr; +class SvxMarginItem; +class SdrObject; +class SdrOle2Obj; +struct RowInfo; +class ScTabViewShell; +class SvInPlaceObjectRef; +class ScPageBreakData; + +// --------------------------------------------------------------------------- + +#define SC_SCENARIO_HSPACE 60 +#define SC_SCENARIO_VSPACE 50 + +// Twips (Hoehe wird passend in Pixeln berechnet) +#define SC_CLIPMARK_SIZE 64 + +// --------------------------------------------------------------------------- + +#define SC_OBJECTS_NONE 0 +#define SC_OBJECTS_DRAWING 1 +#define SC_OBJECTS_OLE 2 +#define SC_OBJECTS_CHARTS 4 +#define SC_OBJECTS_ALL ( SC_OBJECTS_DRAWING | SC_OBJECTS_OLE | SC_OBJECTS_CHARTS ) + +enum ScOutputType { OUTTYPE_WINDOW, OUTTYPE_PRINTER }; + +class ScOutputData +{ +friend class ScDrawStringsVars; +private: + OutputDevice* pDev; // Device + OutputDevice* pRefDevice; // Drucker bei Preview + RowInfo* pRowInfo; // Info-Block + USHORT nArrCount; // belegte Zeilen im Info-Block + ScDocument* pDoc; // Dokument + USHORT nTab; // Tabelle + long nScrX; // Ausgabe Startpos. (Pixel) + long nScrY; + long nScrW; // Ausgabe Groesse (Pixel) + long nScrH; + USHORT nX1; // Start-/Endkoordinaten + USHORT nY1; // ( incl. versteckte ) + USHORT nX2; + USHORT nY2; + USHORT nVisX1; // Start-/Endkoordinaten + USHORT nVisY1; // ( sichtbarer Bereich ) + USHORT nVisX2; + USHORT nVisY2; + ScOutputType eType; // Bildschirm/Drucker ... + double nPPTX; // Pixel per Twips + double nPPTY; +// USHORT nZoom; // Zoom-Faktor (Prozent) - fuer GetFont + Fraction aZoomX; + Fraction aZoomY; + + SdrObject* pEditObj; // beim Painten auslassen + + ScTabViewShell* pViewShell; // zum Connecten von sichtbaren Plug-Ins + + BOOL bEditMode; // InPlace editierte Zelle - nicht ausgeben + USHORT nEditCol; + USHORT nEditRow; + + BOOL bMetaFile; // Ausgabe auf Metafile (nicht in Pixeln!) + BOOL bSingleGrid; // beim Gitter bChanged auswerten + + BOOL bPagebreakMode; // Seitenumbruch-Vorschau + BOOL bSolidBackground; // weiss statt transparent + + BOOL bSyntaxMode; // Syntax-Highlighting + Color* pValueColor; + Color* pTextColor; + Color* pFormulaColor; + + Color aGridColor; + + BOOL bShowNullValues; + BOOL bShowFormulas; + BOOL bShowSpellErrors; // Spell-Errors in EditObjekten anzeigen + BOOL bMarkClipped; + + BOOL bSnapPixel; + + BOOL bAnyRotated; // intern + BOOL bAnyClipped; // intern + + // private Methoden + + BOOL GetMergeOrigin( USHORT nX, USHORT nY, USHORT nArrY, + USHORT& rOverX, USHORT& rOverY, + long& rVirtPosX, long& rVirtPosY, + BOOL bClipVirt, BOOL bVisRowChanged ); + + void SetSyntaxColor( Font* pFont, ScBaseCell* pCell ); + void SetEditSyntaxColor( EditEngine& rEngine, ScBaseCell* pCell ); + + void ConnectObject( const SvInPlaceObjectRef& rRef, SdrOle2Obj* pOleObj ); + + double GetStretch(); + +public: + ScOutputData( OutputDevice* pNewDev, ScOutputType eNewType, + RowInfo* pNewRowInfo, USHORT nNewCount, + ScDocument* pNewDoc, + USHORT nNewTab, long nNewScrX, long nNewScrY, + USHORT nNewX1, USHORT nNewY1, USHORT nNewX2, USHORT nNewY2, + double nPixelPerTwipsX, double nPixelPerTwipsY, + const Fraction* pZoomX = NULL, + const Fraction* pZoomY = NULL ); + + ~ScOutputData(); + + void SetRefDevice( OutputDevice* pRDev ) { pRefDevice = pRDev; } + void SetEditObject( SdrObject* pObj ) { pEditObj = pObj; } + void SetViewShell( ScTabViewShell* pSh ) { pViewShell = pSh; } + + void SetSolidBackground( BOOL bSet ) { bSolidBackground = bSet; } + + void SetEditCell( USHORT nCol, USHORT nRow ); + void SetSyntaxMode( BOOL bNewMode ); + void SetMetaFileMode( BOOL bNewMode ); + void SetSingleGrid( BOOL bNewMode ); + void SetGridColor( const Color& rColor ); + void SetMarkClipped( BOOL bSet ); + void SetShowNullValues ( BOOL bSet = TRUE ); + void SetShowFormulas ( BOOL bSet = TRUE ); + void SetShowSpellErrors( BOOL bSet = TRUE ); + long GetScrW() const { return nScrW; } + long GetScrH() const { return nScrH; } + + void SetSnapPixel( BOOL bSet = TRUE ); + + void DrawGrid( BOOL bGrid, BOOL bPage ); + void DrawStrings(); + void DrawBackground(); + void DrawShadow(); + void DrawExtraShadow(BOOL bLeft, BOOL bTop, BOOL bRight, BOOL bBottom); + void DrawFrame(); + + // im logischen MapMode ! + //! Scale-Parameter koennen raus (immer 1.0) !!!! + void DrawEdit(BOOL bPixelToLogic, double nScaleX=1.0, double nScaleY=1.0); + + void FindRotated(); + void DrawRotatedFrame(); // Pixel + void DrawRotated(BOOL bPixelToLogic); // logisch + + void DrawClear(); + void DrawPageBorder( USHORT nStartX, USHORT nStartY, USHORT nEndX, USHORT nEndY ); + void DrawingLayer( USHORT nLayer, USHORT nObjectFlags, long nLogStX, long nLogStY ); + + // nur Bildschirm: + + void DrawingSingle( USHORT nLayer, USHORT nObjectFlags, USHORT nDummyFlags ); + + void DrawSelectiveObjects( USHORT nLayer, const Rectangle& rRect, + USHORT nObjectFlags, USHORT nDummyFlags = 0 ); + + BOOL SetChangedClip(); // FALSE = nix + + void FindChanged(); + void SetPagebreakMode( ScPageBreakData* pPageData ); + void DrawMark( Window* pWin ); + void DrawRefMark( USHORT nRefStartX, USHORT nRefStartY, + USHORT nRefEndX, USHORT nRefEndY, + const Color& rColor, BOOL bHandle ); + void DrawOneChange( USHORT nRefStartX, USHORT nRefStartY, + USHORT nRefEndX, USHORT nRefEndY, + const Color& rColor, USHORT nType ); + void DrawChangeTrack(); + void DrawClipMarks(); + + void DrawNoteMarks(); + void PrintNoteMarks( const List& rPosList ); // Liste von ScTripeln +}; + + + +#endif + diff --git a/sc/source/ui/inc/pagedata.hxx b/sc/source/ui/inc/pagedata.hxx new file mode 100644 index 000000000000..667ef839512f --- /dev/null +++ b/sc/source/ui/inc/pagedata.hxx @@ -0,0 +1,130 @@ +/************************************************************************* + * + * $RCSfile: pagedata.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PAGEDATA_HXX +#define SC_PAGEDATA_HXX + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +class ScDocShell; + +//============================================================================ + +class ScPrintRangeData +{ +private: + ScRange aPrintRange; + USHORT nPagesX; + USHORT* pPageEndX; + USHORT nPagesY; + USHORT* pPageEndY; + long nFirstPage; + BOOL bTopDown; + BOOL bAutomatic; + +public: + ScPrintRangeData(); + ~ScPrintRangeData(); + + void SetPrintRange( const ScRange& rNew ) { aPrintRange = rNew; } + const ScRange& GetPrintRange() const { return aPrintRange; } + + void SetPagesX( USHORT nCount, const USHORT* pEnd ); + void SetPagesY( USHORT nCount, const USHORT* pEnd ); + + USHORT GetPagesX() const { return nPagesX; } + const USHORT* GetPageEndX() const { return pPageEndX; } + USHORT GetPagesY() const { return nPagesY; } + const USHORT* GetPageEndY() const { return pPageEndY; } + + void SetFirstPage( long nNew ) { nFirstPage = nNew; } + long GetFirstPage() const { return nFirstPage; } + void SetTopDown( BOOL bSet ) { bTopDown = bSet; } + BOOL IsTopDown() const { return bTopDown; } + void SetAutomatic( BOOL bSet ) { bAutomatic = bSet; } + BOOL IsAutomatic() const { return bAutomatic; } +}; + +class ScPageBreakData +{ +private: + USHORT nAlloc; + USHORT nUsed; + ScPrintRangeData* pData; // Array + +public: + ScPageBreakData(USHORT nMax); + ~ScPageBreakData(); + + USHORT GetCount() const { return nUsed; } + ScPrintRangeData& GetData(USHORT i); + + BOOL IsEqual( const ScPageBreakData& rOther ) const; + + void AddPages(); +}; + + + +#endif + diff --git a/sc/source/ui/inc/parawin.hxx b/sc/source/ui/inc/parawin.hxx new file mode 100644 index 000000000000..bd06f8560488 --- /dev/null +++ b/sc/source/ui/inc/parawin.hxx @@ -0,0 +1,222 @@ +/************************************************************************* + * + * $RCSfile: parawin.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PARAWIN_HXX +#define SC_PARAWIN_HXX + +#ifndef SC_FUNCUTL_HXX +#include "funcutl.hxx" +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" // ScAddress +#endif + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _SVEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + +#ifndef _SV_TABPAGE_HXX //autogen +#include <vcl/tabpage.hxx> +#endif + +#ifndef _SVSTDARR_STRINGS + +#define _SVSTDARR_STRINGS +#include <svtools/svstdarr.hxx> + +#endif + +#ifndef _SV_TABCTRL_HXX //autogen +#include <vcl/tabctrl.hxx> +#endif + +class ScFuncDesc; + +//============================================================================ +#define NOT_FOUND 0xffff +//============================================================================ + +class ScParaWin : public TabPage +{ +private: + + Link aScrollLink; + Link aFxLink; + Link aArgModifiedLink; + + ScFuncDesc* pFuncDesc; + ScAnyRefDlg* pMyParent; + USHORT nArgs; + Font aFntBold; + Font aFntLight; + + FixedInfo aFtEditDesc; + FixedText aFtArgName; + FixedInfo aFtArgDesc; + + ImageButton aBtnFx1; + FixedText aFtArg1; + ArgEdit aEdArg1; + ScRefButton aRefBtn1; + ImageButton aBtnFx2; + FixedText aFtArg2; + ArgEdit aEdArg2; + ScRefButton aRefBtn2; + ImageButton aBtnFx3; + FixedText aFtArg3; + ArgEdit aEdArg3; + ScRefButton aRefBtn3; + ImageButton aBtnFx4; + FixedText aFtArg4; + ArgEdit aEdArg4; + ScRefButton aRefBtn4; + ScrollBar aSlider; + BOOL bRefMode; + + USHORT nEdFocus; + USHORT nActiveLine; + + ArgInput aArgInput[4]; + String aDefaultString; + SvStrings aParaArray; + DECL_LINK( ScrollHdl, ScrollBar* ); + DECL_LINK( ModifyHdl, ArgInput* ); + DECL_LINK( GetEdFocusHdl, ArgInput* ); + DECL_LINK( GetFxFocusHdl, ArgInput* ); + DECL_LINK( GetFxHdl, ArgInput* ); + +protected: + + virtual void SliderMoved(); + virtual void ArgumentModified(); + virtual void FxClick(); + + void InitArgInput( USHORT nPos, FixedText& rFtArg, ImageButton& rBtnFx, + ArgEdit& rEdArg, ScRefButton& rRefBtn); + + void DelParaArray(); + void SetArgumentDesc(const String& aText); + void SetArgumentText(const String& aText); + + + void SetArgName (USHORT no,const String &aArg); + void SetArgNameFont (USHORT no,const Font&); + void SetArgVal (USHORT no,const String &aArg); + + void HideParaLine(USHORT no); + void ShowParaLine(USHORT no); + void UpdateArgDesc( USHORT nArg ); + void UpdateArgInput( USHORT nOffset, USHORT i ); + +public: + ScParaWin(ScAnyRefDlg* pParent,Point aPos); + ~ScParaWin(); + + void SetFunctionDesc(ScFuncDesc* pFDesc); + void SetArgCount(USHORT nArgs, USHORT nOffset); + void SetEditDesc(const String& aText); + void UpdateParas(); + void ClearAll(); + + BOOL IsRefMode() {return bRefMode;} + void SetRefMode(BOOL bFlag) {bRefMode=bFlag;} + + USHORT GetActiveLine(); + void SetActiveLine(USHORT no); + ScRefEdit* GetActiveEdit(); + String GetActiveArgName(); + + String GetArgument(USHORT no); + void SetArgument(USHORT no, const String& aString); + void SetArgumentFonts(const Font&aBoldFont,const Font&aLightFont); + + void SetEdFocus(USHORT nEditLine); //Sichtbare Editzeilen + USHORT GetSliderPos(); + void SetSliderPos(USHORT nSliderPos); + + void SetScrollHdl( const Link& rLink ) { aScrollLink = rLink; } + const Link& GetScrollHdl() const { return aScrollLink; } + + void SetArgModifiedHdl( const Link& rLink ) { aArgModifiedLink = rLink; } + const Link& GetArgModifiedHdl() const { return aArgModifiedLink; } + + void SetFxHdl( const Link& rLink ) { aFxLink = rLink; } + const Link& GetFxHdl() const { return aFxLink; } +}; + + + + + +#endif // SC_PARAWIN_HXX + diff --git a/sc/source/ui/inc/pfiltdlg.hxx b/sc/source/ui/inc/pfiltdlg.hxx new file mode 100644 index 000000000000..607ca4620896 --- /dev/null +++ b/sc/source/ui/inc/pfiltdlg.hxx @@ -0,0 +1,183 @@ +/************************************************************************* + * + * $RCSfile: pfiltdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PFILTDLG_HXX +#define SC_PFILTDLG_HXX + +#ifndef _SV_HXX +#endif + +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif + +#include "global.hxx" // -> ScQueryParam + +//------------------------------------------------------------------ + +class ScViewData; +class ScDocument; +class ScQueryItem; +class TypedStrCollection; + +//================================================================== + +class ScPivotFilterDlg : public ModalDialog +{ +public: + ScPivotFilterDlg( Window* pParent, + const SfxItemSet& rArgSet, USHORT nSourceTab ); + ~ScPivotFilterDlg(); + + const ScQueryItem& GetOutputItem(); + +private: + ListBox aLbField1; + ListBox aLbCond1; + ComboBox aEdVal1; + //---------------------------- + ListBox aLbConnect1; + ListBox aLbField2; + ListBox aLbCond2; + ComboBox aEdVal2; + //---------------------------- + ListBox aLbConnect2; + ListBox aLbField3; + ListBox aLbCond3; + ComboBox aEdVal3; + //---------------------------- + FixedText aFtConnect; + FixedText aFtField; + FixedText aFtCond; + FixedText aFtVal; + GroupBox aGbCriteria; + + CheckBox aBtnCase; + CheckBox aBtnRegExp; + CheckBox aBtnUnique; + FixedText aFtDbAreaLabel; + FixedInfo aFtDbArea; + GroupBox aGbOptions; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + MoreButton aBtnMore; + const String aStrUndefined; + const String aStrNoName; + const String aStrNone; + const String aStrEmpty; + const String aStrNotEmpty; + const String aStrRow; + const String aStrColumn; + + const USHORT nWhichQuery; + const ScQueryParam theQueryData; + ScQueryItem* pOutItem; + ScViewData* pViewData; + ScDocument* pDoc; + USHORT nSrcTab; + + USHORT nFieldCount; + ComboBox* aValueEdArr[3]; + ListBox* aFieldLbArr[3]; + ListBox* aCondLbArr[3]; + + TypedStrCollection* pEntryLists[MAXCOL+1]; + +#ifdef _PFILTDLG_CXX +private: + void Init ( const SfxItemSet& rArgSet ); + void FillFieldLists (); + void UpdateValueList ( USHORT nList ); + void ClearValueList ( USHORT nList ); + USHORT GetFieldSelPos ( USHORT nField ); + + // Handler: + DECL_LINK( LbSelectHdl, ListBox* ); + DECL_LINK( ValModifyHdl, ComboBox* ); + DECL_LINK( CheckBoxHdl, CheckBox* ); +#endif +}; + + +#endif // SC_PFILTDLG_HXX + diff --git a/sc/source/ui/inc/pgbrksh.hxx b/sc/source/ui/inc/pgbrksh.hxx new file mode 100644 index 000000000000..3500d2d67317 --- /dev/null +++ b/sc/source/ui/inc/pgbrksh.hxx @@ -0,0 +1,91 @@ +/************************************************************************* + * + * $RCSfile: pgbrksh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PGBRKSH_HXX +#define SC_PGBRKSH_HXX + +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif + +#include "shellids.hxx" + +class ScTabViewShell; + +class ScPageBreakShell : public SfxShell +{ +public: + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_PAGEBREAK_SHELL); + + ScPageBreakShell( ScTabViewShell* pView ); + ~ScPageBreakShell(); + +}; + + + +#endif + + diff --git a/sc/source/ui/inc/pivotsh.hxx b/sc/source/ui/inc/pivotsh.hxx new file mode 100644 index 000000000000..da0691ef7804 --- /dev/null +++ b/sc/source/ui/inc/pivotsh.hxx @@ -0,0 +1,96 @@ +/************************************************************************* + * + * $RCSfile: pivotsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PIVOTSH_HXX +#define SC_PIVOTSH_HXX + +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif + +#include "shellids.hxx" + +class ScTabViewShell; + +class ScPivotShell : public SfxShell +{ +public: + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_PIVOT_SHELL); + + ScPivotShell( ScTabViewShell* pView ); + ~ScPivotShell(); + + void Execute ( SfxRequest& rReq ); + void GetState( SfxItemSet& rSet ); + +private: + ScTabViewShell* pViewShell; +}; + + + +#endif + + diff --git a/sc/source/ui/inc/pntlock.hxx b/sc/source/ui/inc/pntlock.hxx new file mode 100644 index 000000000000..5028160e8a45 --- /dev/null +++ b/sc/source/ui/inc/pntlock.hxx @@ -0,0 +1,98 @@ +/************************************************************************* + * + * $RCSfile: pntlock.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PNTLOCK_HXX +#define SC_PNTLOCK_HXX + +#ifndef SC_RANGELST_HXX +#include "rangelst.hxx" +#endif + +class ScPaintLockData +{ +private: + ScRangeListRef xRangeList; + USHORT nMode; + USHORT nLevel; + USHORT nParts; + BOOL bModified; + +public: + ScPaintLockData(USHORT nNewMode); + ~ScPaintLockData(); + + void AddRange( const ScRange& rRange, USHORT nP ); + + void SetModified() { bModified = TRUE; } + void IncLevel() { ++nLevel; } + void DecLevel() { --nLevel; } + + const ScRangeListRef& GetRangeList() const { return xRangeList; } + USHORT GetParts() const { return nParts; } + USHORT GetLevel() const { return nLevel; } + BOOL GetModified() const { return bModified; } + + // fuer Wiederherstellen nach Reset + void SetLevel(USHORT nNew) { nLevel = nNew; } +}; + +#endif + diff --git a/sc/source/ui/inc/popmenu.hxx b/sc/source/ui/inc/popmenu.hxx new file mode 100644 index 000000000000..dbe8e54324fb --- /dev/null +++ b/sc/source/ui/inc/popmenu.hxx @@ -0,0 +1,86 @@ +/************************************************************************* + * + * $RCSfile: popmenu.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_POPMENU_HXX +#define SC_POPMENU_HXX + +#ifndef _MENU_HXX //autogen +#include <vcl/menu.hxx> +#endif + +class ScPopupMenu : public PopupMenu +{ +private: + USHORT nSel; + BOOL bHit; +protected: + virtual void Select(); +public: + ScPopupMenu() : nSel(0),bHit(FALSE) {} + ScPopupMenu(const ResId& rRes) : PopupMenu(rRes),nSel(0),bHit(FALSE) {} + USHORT GetSelected() const { return nSel; } + BOOL WasHit() const { return bHit; } +}; + + + +#endif + diff --git a/sc/source/ui/inc/preview.hxx b/sc/source/ui/inc/preview.hxx new file mode 100644 index 000000000000..a0f35c8fca36 --- /dev/null +++ b/sc/source/ui/inc/preview.hxx @@ -0,0 +1,155 @@ +/************************************************************************* + * + * $RCSfile: preview.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PREVIEW_HXX +#define SC_PREVIEW_HXX + + +#ifndef _WINDOW_HXX //autogen +#include <vcl/window.hxx> +#endif +#include "printfun.hxx" // ScPrintState + +class ScDocShell; +class ScPreviewShell; +class FmFormView; + +class ScPreview : public Window +{ +private: + // eingestellt: + long nPageNo; // Seite im Dokument + USHORT nZoom; // eingestellter Zoom + Point aOffset; // positiv + + // berechnet: + BOOL bValid; // folgende Werte gueltig + USHORT nTabCount; + USHORT nTabsTested; // fuer wieviele Tabellen ist nPages gueltig? + long nPages[MAXTAB+1]; + long nFirstAttr[MAXTAB+1]; + USHORT nTab; // Tabelle + long nTabPage; // Seite von Tabelle + long nTabStart; // erste Seite der Tabelle (wirklich) + long nDisplayStart; // dito, relativ zum Anfang der Zaehlung + Date aDate; + Time aTime; + long nTotalPages; + Size aPageSize; // fuer GetOptimalZoom + BOOL bStateValid; + ScPrintState aState; + FmFormView* pDrawView; + + // intern: + BOOL bInPaint; + BOOL bInGetState; + ScDocShell* pDocShell; + ScPreviewShell* pViewShell; + + + void TestLastPage(); + void CalcPages( USHORT nToWhichTab ); + void RecalcPages(); + void UpdateDrawView(); + +protected: + virtual void Paint( const Rectangle& rRect ); + virtual void Command( const CommandEvent& rCEvt ); + virtual void KeyInput( const KeyEvent& rKEvt ); + +public: + ScPreview( Window* pParent, ScDocShell* pDocSh, ScPreviewShell* pViewSh ); + ~ScPreview(); + + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + void DataChanged(BOOL bNewTime = FALSE); // statt Invalidate rufen + void DoInvalidate(); + + void SetXOffset( long nX ); + void SetYOffset( long nY ); + void SetZoom(USHORT nNewZoom); + void SetPageNo( long nPage ); + + String GetPosString(); + + long GetPageNo() const { return nPageNo; } + USHORT GetZoom() const { return nZoom; } + Point GetOffset() const { return aOffset; } + + USHORT GetTab() { if (!bValid) { CalcPages(0); RecalcPages(); } return nTab; } + long GetTotalPages() { if (!bValid) { CalcPages(0); RecalcPages(); } return nTotalPages; } + + BOOL AllTested() const { return bValid && nTabsTested >= nTabCount; } + + USHORT GetOptimalZoom(BOOL bWidthOnly); + long GetFirstPage(USHORT nTab); + + void CalcAll() { CalcPages(MAXTAB); } + void SetInGetState(BOOL bSet) { bInGetState = bSet; } + + DECL_STATIC_LINK( ScPreview, InvalidateHdl, void* ); + static void StaticInvalidate(); +}; + + + +#endif diff --git a/sc/source/ui/inc/prevwsh.hxx b/sc/source/ui/inc/prevwsh.hxx new file mode 100644 index 000000000000..6f16e7431a54 --- /dev/null +++ b/sc/source/ui/inc/prevwsh.hxx @@ -0,0 +1,158 @@ +/************************************************************************* + * + * $RCSfile: prevwsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PREVWSH_HXX +#define SC_PREVWSH_HXX + +class ScrollBar; + +#ifndef _VIEWFAC_HXX //autogen +#include <sfx2/viewfac.hxx> +#endif +#ifndef _SFXVIEWSH_HXX //autogen +#include <sfx2/viewsh.hxx> +#endif +#ifndef _SVX_ZOOMITEM_HXX //autogen +#include <svx/zoomitem.hxx> +#endif + +#include "shellids.hxx" + +class ScDocShell; +class ScPreview; +struct ScHeaderFieldData; + +//================================================================== + + +class ScPreviewShell: public SfxViewShell +{ + ScDocShell* pDocShell; + + ScPreview* pPreview; // Ausgabe-Fenster + ScrollBar* pHorScroll; + ScrollBar* pVerScroll; + Window* pCorner; + + String aSourceData; // ViewData + SvxZoomType eZoom; + +private: + void Construct( Window* pParent ); + DECL_LINK(ScrollHandler, ScrollBar* ); + void DoScroll( USHORT nMode ); + +protected: + virtual void Activate(BOOL bMDI); + virtual void Deactivate(BOOL bMDI); + + virtual void AdjustPosSizePixel( const Point &rPos, const Size &rSize ); + + virtual void InnerResizePixel( const Point &rOfs, const Size &rSize ); + virtual void OuterResizePixel( const Point &rOfs, const Size &rSize ); + + virtual Size GetOptimalSizePixel() const; + + virtual String GetDescription() const; + + virtual void WriteUserData(String &, BOOL bBrowse = FALSE); + virtual void ReadUserData(const String &, BOOL bBrowse = FALSE); + +public: + TYPEINFO(); + + SFX_DECL_INTERFACE(SCID_PREVIEW_SHELL); + SFX_DECL_VIEWFACTORY(ScPreviewShell); + + ScPreviewShell( SfxViewFrame* pViewFrame, + const ScPreviewShell& rWin ); + ScPreviewShell( SfxViewFrame* pViewFrame, + Window* pParent); + ScPreviewShell( SfxViewFrame* pViewFrame, + SfxViewShell* pOldSh ); + + virtual ~ScPreviewShell(); + + void InitStartTable(USHORT nTab); + + void UpdateScrollBars(); + BOOL ScrollCommand( const CommandEvent& rCEvt ); + + void Execute( SfxRequest& rReq ); + void GetState( SfxItemSet& rSet ); + + void FillFieldData( ScHeaderFieldData& rData ); + + const String& GetSourceData() const { return aSourceData; } + + virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, + const SfxHint& rHint, const TypeId& rHintType ); + + virtual SfxPrinter* GetPrinter( BOOL bCreate = FALSE ); + virtual USHORT SetPrinter( SfxPrinter* pNewPrinter, USHORT nDiffFlags = SFX_PRINTER_ALL ); + virtual PrintDialog* CreatePrintDialog( Window* pParent ); + virtual void PreparePrint( PrintDialog* pPrintDialog = NULL ); + virtual USHORT Print( SfxProgress& rProgress, PrintDialog* pPrintDialog = NULL ); +}; + + + +#endif diff --git a/sc/source/ui/inc/printfun.hxx b/sc/source/ui/inc/printfun.hxx new file mode 100644 index 000000000000..349e1f21c3de --- /dev/null +++ b/sc/source/ui/inc/printfun.hxx @@ -0,0 +1,366 @@ +/************************************************************************* + * + * $RCSfile: printfun.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PRINTFUN_HXX +#define SC_PRINTFUN_HXX + + +#ifndef SC_PAGEPAR_HXX +#include "pagepar.hxx" +#endif + +#ifndef SC_EDITUTIL_HXX +#include "editutil.hxx" +#endif + +#ifndef _PRINT_HXX //autogen +#include <vcl/print.hxx> +#endif + +class SfxPrinter; +class SfxProgress; +class ScDocShell; +class ScDocument; +class ScViewData; +class SfxItemSet; +class ScPageHFItem; +class EditTextObject; +class MultiSelection; +class ScHeaderEditEngine; +class ScPageBreakData; +class SvxBoxItem; +class SvxBrushItem; +class SvxShadowItem; +class FmFormView; + +#define RANGENO_NORANGE USHRT_MAX + +#define PRINT_HEADER_WIDTH (1.0 * TWIPS_PER_CM) +#define PRINT_HEADER_HEIGHT (12.8 * TWIPS_PER_POINT) +#define PRINT_HEADER_FONTHEIGHT 200 + + + // Einstellungen fuer Kopf-/Fusszeilen +struct ScPrintHFParam +{ + BOOL bEnable; + BOOL bDynamic; + BOOL bShared; + long nHeight; // insgesamt (Hoehe+Abstand+Rahmen) + long nManHeight; // eingestellte Groesse (Min. bei dynamisch) + USHORT nDistance; + USHORT nLeft; // Raender + USHORT nRight; + const ScPageHFItem* pLeft; + const ScPageHFItem* pRight; + const SvxBoxItem* pBorder; + const SvxBrushItem* pBack; + const SvxShadowItem* pShadow; +}; + + +// "Ersatz" fuer SV-JobSetup: + +class ScJobSetup +{ +public: + ScJobSetup( SfxPrinter* pPrinter ); + + Size aUserSize; + MapMode aUserMapMode; + Paper ePaper; + Orientation eOrientation; + USHORT nPaperBin; +}; + +struct ScPrintState // Variablen aus ScPrintFunc retten +{ + USHORT nPrintTab; + USHORT nStartCol; + USHORT nStartRow; + USHORT nEndCol; + USHORT nEndRow; + USHORT nZoom; + USHORT nPagesX; + USHORT nPagesY; + long nTabPages; + long nTotalPages; + long nPageStart; + long nDocPages; +}; + +class ScPageRowEntry +{ +private: + USHORT nStartRow; + USHORT nEndRow; + USHORT nPagesX; + BOOL* pHidden; + //! Anzahl wirklich sichtbarer cachen??? + +public: + ScPageRowEntry() { nStartRow = nEndRow = nPagesX = 0; pHidden = NULL; } + ~ScPageRowEntry() { delete[] pHidden; } + + ScPageRowEntry(const ScPageRowEntry& r); + const ScPageRowEntry& operator=(const ScPageRowEntry& r); + + USHORT GetStartRow() const { return nStartRow; } + USHORT GetEndRow() const { return nEndRow; } + USHORT GetPagesX() const { return nPagesX; } + void SetStartRow(USHORT n) { nStartRow = n; } + void SetEndRow(USHORT n) { nEndRow = n; } + + void SetPagesX(USHORT nNew); + void SetHidden(USHORT nX); + BOOL IsHidden(USHORT nX) const; + + USHORT CountVisible() const; +}; + +class ScPrintFunc +{ +private: + ScDocShell* pDocShell; + ScDocument* pDoc; + SfxPrinter* pPrinter; + OutputDevice* pDev; + + FmFormView* pDrawView; + + MapMode aOldPrinterMode; // MapMode vor dem Aufruf + + Point aSrcOffset; // Papier-1/100 mm + Point aOffset; // mit Faktor aus Seitenformat skaliert + USHORT nManualZoom; // Zoom in Preview (Prozent) + BOOL bClearWin; // Ausgabe vorher loeschen + + USHORT nPrintTab; + long nPageStart; // Offset fuer erste Seite + long nDocPages; // Seiten im Dokument + + const ScRange* pUserArea; // Selektion, wenn im Dialog eingestellt + + const SfxItemSet* pParamSet; // eingestellte Vorlage + BOOL bState; // aus State-struct erzeugt + + // Parameter aus Vorlage: + USHORT nLeftMargin; + USHORT nTopMargin; + USHORT nRightMargin; + USHORT nBottomMargin; + BOOL bCenterHor; + BOOL bCenterVer; + BOOL bLandscape; + USHORT nPageUsage; + Size aPageSize; // Drucker-Twips + const SvxBoxItem* pBorderItem; + const SvxBrushItem* pBackgroundItem; + const SvxShadowItem* pShadowItem; + + ScPrintHFParam aHdr; + ScPrintHFParam aFtr; + ScPageTableParam aTableParam; + ScPageAreaParam aAreaParam; + + // berechnete Werte: + USHORT nZoom; + BOOL bPrintCurrentTable; + BOOL bMultiArea; + long nTabPages; + long nTotalPages; + + USHORT nObjectFlags; + + Rectangle aPageRect; // Dokument-Twips + + MapMode aLogicMode; // in DoPrint gesetzt + MapMode aOffsetMode; + MapMode aTwipMode; + double nScaleX; + double nScaleY; + + USHORT nRepeatStartCol; + USHORT nRepeatEndCol; + USHORT nRepeatStartRow; + USHORT nRepeatEndRow; + + USHORT nStartCol; + USHORT nStartRow; + USHORT nEndCol; + USHORT nEndRow; + + USHORT* pPageEndX; // Seitenaufteilung + USHORT* pPageEndY; + ScPageRowEntry* pPageRows; + USHORT nPagesX; + USHORT nPagesY; + USHORT nTotalY; + + ScHeaderEditEngine* pEditEngine; + SfxItemSet* pEditDefaults; + + ScHeaderFieldData aFieldData; + + List aNotePosList; // Reihenfolge der Notizen + + ScPageBreakData* pPageData; // zum Eintragen der Umbrueche etc. + +public: + ScPrintFunc( ScDocShell* pShell, SfxPrinter* pNewPrinter, USHORT nTab, + long nPage = 0, long nDocP = 0, + const ScRange* pArea = NULL, + ScPageBreakData* pData = NULL ); + + ScPrintFunc( ScDocShell* pShell, Window* pWindow, USHORT nTab, + long nPage = 0, long nDocP = 0, + const ScRange* pArea = NULL ); + + ScPrintFunc( ScDocShell* pShell, Window* pWindow, + const ScPrintState& rState ); + + ~ScPrintFunc(); + + static void DrawToDev( ScDocument* pDoc, OutputDevice* pDev, double nPrintFactor, + const Rectangle& rBound, ScViewData* pViewData, BOOL bMetaFile ); + + void SetDrawView( FmFormView* pNew ); + + void SetOffset( const Point& rOfs ); + void SetManualZoom( USHORT nNewZoom ); + void SetDateTime( const Date& rDate, const Time& rTime ); + + void SetClearFlag( BOOL bFlag ); + + BOOL UpdatePages(); + + void ApplyPrintSettings(); // aus DoPrint() schon gerufen + long DoPrint(const MultiSelection& rPageRanges, + long nStartPage, long nDisplayStart, + SfxProgress* pProgress = NULL ); + + // Werte abfragen - sofort + + Size GetPageSize() const { return aPageSize; } + Size GetDataSize() const; + void GetScaleData( Size& rPhysSize, long& rDocHdr, long& rDocFtr ); + long GetFirstPageNo() const { return aTableParam.nFirstPageNo; } + + // letzte Werte abfragen - nach DoPrint !!! + + double GetScaleX() const { return nScaleX; } + double GetScaleY() const { return nScaleY; } + long GetTotalPages() const { return nTotalPages; } + USHORT GetZoom() const { return nZoom; } + + void ResetBreaks( USHORT nTab ); + + void GetPrintState( ScPrintState& rState ); + +#ifdef _PRINTFUN_CXX +private: + void Construct(); + void InitParam(); + void CalcZoom( USHORT nRangeNo ); + void CalcPages(); + long CountPages(); + long CountNotePages(); + + BOOL AdjustPrintArea( BOOL bNew ); + + Size GetDocPageSize(); + + long TextHeight( const EditTextObject* pObject ); + void MakeEditEngine(); + void UpdateHFHeight( ScPrintHFParam& rParam ); + + void InitModes(); + + BOOL IsLeft( long nPageNo ); + BOOL IsMirror( long nPageNo ); + void ReplaceFields( long nPageNo ); // aendert Text in pEditEngine + void MakeTableString(); // setzt aTableStr + + void PrintPage( long nPageNo, + USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2 ); + void PrintArea( USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2, + long nScrX, long nScrY, + BOOL bShLeft, BOOL bShTop, BOOL bShRight, BOOL bShBottom ); + void PrintColHdr( USHORT nX1, USHORT nX2, long nScrX, long nScrY ); + void PrintRowHdr( USHORT nY1, USHORT nY2, long nScrX, long nScrY ); + void PrintHF( long nPageNo, const ScPrintHFParam& rParam, long nStartY ); + + long PrintNotes( long nPageNo, long nNoteStart, BOOL bDoPrint ); + long DoNotes( long nNoteStart, BOOL bDoPrint ); + + void DrawBorder( long nScrX, long nScrY, long nScrW, long nScrH, + const SvxBoxItem* pBorderData, + const SvxBrushItem* pBackground, + const SvxShadowItem* pShadow ); + + void FillPageData(); +#endif +}; + + + +#endif + diff --git a/sc/source/ui/inc/privsplt.hxx b/sc/source/ui/inc/privsplt.hxx new file mode 100644 index 000000000000..8b71e5ff1e6f --- /dev/null +++ b/sc/source/ui/inc/privsplt.hxx @@ -0,0 +1,122 @@ +/************************************************************************* + * + * $RCSfile: privsplt.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PRIVSPLT_HXX +#define SC_PRIVSPLT_HXX + +#ifndef _SV_CTRL_HXX //autogen +#include <vcl/ctrl.hxx> +#endif + +enum SC_SPLIT_DIRECTION {SC_SPLIT_HORZ,SC_SPLIT_VERT }; + +class ScPrivatSplit : public Control +{ + private: + + Link aCtrModifiedLink; + BOOL aMovingFlag; + Pointer aWinPointer; + SC_SPLIT_DIRECTION eScSplit; + short nOldX; + short nOldY; + short nNewX; + short nNewY; + short nMinPos; + short nMaxPos; + Range aXMovingRange; + Range aYMovingRange; + short nDeltaX; + short nDeltaY; + + void ImplInitSettings( BOOL bFont, BOOL bForeground, BOOL bBackground ); + + + + protected: + virtual void MouseMove( const MouseEvent& rMEvt ); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt); + + public: + + ScPrivatSplit( Window* pWindow, const ResId& rResId, + SC_SPLIT_DIRECTION eScSplit); + + virtual short GetDeltaX(); + virtual short GetDeltaY(); + + virtual void CtrModified(); + + void SetXRange(Range cRgeX); + void SetYRange(Range cRgeY); + + void MoveSplitTo(Point aPos); + + virtual void StateChanged( StateChangedType nType ); + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + void SetCtrModifiedHdl( const Link& rLink ) { aCtrModifiedLink = rLink; } + const Link& GetCtrModifiedHdl() const { return aCtrModifiedLink; } +}; + + +#endif diff --git a/sc/source/ui/inc/pvfundlg.hxx b/sc/source/ui/inc/pvfundlg.hxx new file mode 100644 index 000000000000..fef2e5858dd6 --- /dev/null +++ b/sc/source/ui/inc/pvfundlg.hxx @@ -0,0 +1,130 @@ +/************************************************************************* + * + * $RCSfile: pvfundlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PVFUNDLG_HXX +#define SC_PVFUNDLG_HXX + +#ifndef _SV_HXX +#endif +//#ifndef _SVTOOL_HXX +//#include <svtool.hxx> +//#endif +//#include <svtfixed.hxx> + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif + +//=================================================================== + +class ScPivotFunctionDlg : public ModalDialog +{ +public: + ScPivotFunctionDlg( Window* pParent, + BOOL bSubTotalFunc, + const String& rName, + USHORT nFunctions, + BOOL bIsShowAll ); + ~ScPivotFunctionDlg(); + + USHORT GetFuncMask() const { return nFuncMask; } + BOOL GetShowAll() const; + +private: + RadioButton aBtnNone; + RadioButton aBtnAuto; + RadioButton aBtnUser; + MultiListBox aLbFunc; + GroupBox aGbFunc; + CheckBox aCbShowAll; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + FixedText aFtNameLabel; + FixedInfo aFtName; + + USHORT nFuncMask; + +private: + void InitFuncLb ( USHORT nFunctions ); + void SetUI ( BOOL bSubTotals ); + // Handler + DECL_LINK( ClickHdl, PushButton * ); + DECL_LINK( DblClickHdl, MultiListBox * ); + DECL_LINK( RadioClickHdl, RadioButton * ); +}; + + +#endif // SC_PVFUNDLG_HXX + + diff --git a/sc/source/ui/inc/pvlaydlg.hxx b/sc/source/ui/inc/pvlaydlg.hxx new file mode 100644 index 000000000000..a9a41cc3368d --- /dev/null +++ b/sc/source/ui/inc/pvlaydlg.hxx @@ -0,0 +1,239 @@ +/************************************************************************* + * + * $RCSfile: pvlaydlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_PVLAYDLG_HXX +#define SC_PVLAYDLG_HXX + +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _SCRBAR_HXX //autogen +#include <vcl/scrbar.hxx> +#endif +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +#ifndef SC_FIELDWND_HXX +#include "fieldwnd.hxx" +#endif + + +/*==========================================================================*\ + + Eine Instanz der Klasse ScPivotLayoutDlg ist ein (semi-)modaler + Dialog, in dem mit der Maus Felder mit Spaltenueberschriften den + drei Pivot-Kategorien "Spalte", "Zeile" und "Daten" zugeordnet + werden koennen. + + Der Dialog erhaelt in der Struktur LabelData Informationen ueber + diese Ueberschriften (Name, Art (Zahl/String) und Funktionsmaske). + Weiterhin werden drei PivotFeld-Arrays uebergeben, mit denen die + drei Kategorie-Fenster initialisiert werden. Ein Kategorie-Fenster + wird durch eine Instanz der Klasse FieldWindow dargestellt. Ein + solches Fenster ist fuer die Darstellung der Datenstrukturen am + Schirm zustaendig. Es meldet Mausaktionen an den Dialog weiter und + bietet entsprechende Methoden zur Veraenderung der Darstellung. + Der Dialog sorgt fuer den Abgleich der interenen Datenstrukturen mit + der Bildschirmdarstellung. Ein weiteres FieldWindow (Select) bietet + alle Tabellenueberschriften zur Auswahl an, ist also "read-only". + +\*==========================================================================*/ + +//============================================================================ + +class ScViewData; +class ScDocument; +class ScRangeData; +struct FuncData; +class ScDPObject; + +//============================================================================ + +#define FUNC_COUNT 11 + +class ScPivotLayoutDlg : public ScAnyRefDlg +{ +public: + ScPivotLayoutDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + const ScDPObject* pDPObject ); + ~ScPivotLayoutDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + virtual BOOL IsRefInputMode() const { return bRefInputMode; } + virtual void SetActive(); + virtual BOOL Close(); + + void NotifyDoubleClick ( FieldType eType, USHORT nFieldIndex ); + const Pointer* NotifyMouseButtonDown( FieldType eType, USHORT nFieldIndex ); + void NotifyMouseButtonUp ( const Point& rAt ); + const Pointer* NotifyMouseMove ( const Point& rAt ); + +private: + ScrollBar aSlider; + FieldWindow aWndRow; + FieldWindow aWndCol; + FieldWindow aWndData; + FieldWindow aWndSelect; + GroupBox aGbLayout; + + FixedInfo aFtInfo; + ListBox aLbOutPos; + FixedText aFtOutArea; + ScRefEdit aEdOutPos; + ScRefButton aRbOutPos; + CheckBox aBtnIgnEmptyRows; + CheckBox aBtnDetectCat; + CheckBox aBtnTotalCol; + CheckBox aBtnTotalRow; + GroupBox aGbAreas; + + OKButton aBtnOk; + CancelButton aBtnCancel; + MoreButton aBtnMore; + HelpButton aBtnHelp; + + Pointer aPtrField; + Pointer aPtrCol; + Pointer aPtrRow; + + const String aStrUndefined; + const String aStrNewTable; + String* aFuncNameArr[FUNC_COUNT]; + + Pointer aPtrArrow; + FieldType eDnDFromType; + USHORT nDnDFromIndex; + BOOL bIsDrag; + + Rectangle aRectRow; + Rectangle aRectCol; + Rectangle aRectData; + Rectangle aRectSelect; + + LabelData** aLabelDataArr; // (nCol, Feldname, Zahl/Text) + USHORT nLabelCount; + + short nOffset; + FuncData* aSelectArr [MAX_LABELS]; // (nCol, nFuncMask) + FuncData* aColArr [MAX_FIELDS]; // (nCol, nFuncMask) + FuncData* aRowArr [MAX_FIELDS]; // (nCol, nFuncMask) + FuncData* aDataArr [MAX_FIELDS]; // (nCol, nFuncMask) + + BOOL bShowAll[MAX_LABELS]; + + ScDPObject* pDlgDPObject; + ScPivotParam thePivotData; + ScViewData* pViewData; + ScDocument* pDoc; + BOOL bRefInputMode; + +#ifdef _PVLAYDLG_CXX +private: + void Init (); + void InitWndSelect ( LabelData** ppLabelArr, USHORT nLabels ); + void InitWnd ( PivotField* pArr, USHORT nCount, FieldType eType ); + void CalcWndSizes (); + Point DlgPos2WndPos ( const Point& rPt, Window& rWnd ); + LabelData* GetLabelData ( short nCol, USHORT* pPos = NULL ); + String GetLabelString ( short nCol ); + String GetFuncString ( USHORT& rFuncMask, BOOL bIsValue = TRUE ); + BOOL Contains ( FuncData** pArr, short nCol, USHORT& nAt ); + void Remove ( FuncData** pArr, USHORT nAt ); + void Insert ( FuncData** pArr, const FuncData& rFData, USHORT nAt ); + void AddField ( FieldType eToType, const Point& rAtPos ); + void MoveField ( FieldType eFromType, + FieldType eToType, + const Point& rAtPos ); + BOOL GetPivotArrays ( PivotField* pColArr, + PivotField* pRowArr, + PivotField* pDataArr, + USHORT& rColCount, + USHORT& rRowCount, + USHORT& rDataCount ); + // Handler + DECL_LINK( ScrollHdl, ScrollBar * ); + DECL_LINK( SelAreaHdl, ListBox * ); + DECL_LINK( MoreClickHdl, MoreButton * ); + DECL_LINK( EdModifyHdl, Edit * ); + DECL_LINK( OkHdl, OKButton * ); + DECL_LINK( CancelHdl, CancelButton * ); +#endif +}; + + + +#endif // SC_PVLAYDLG_HXX + diff --git a/sc/source/ui/inc/redcom.hxx b/sc/source/ui/inc/redcom.hxx new file mode 100644 index 000000000000..356321e4c574 --- /dev/null +++ b/sc/source/ui/inc/redcom.hxx @@ -0,0 +1,105 @@ +/************************************************************************* + * + * $RCSfile: redcom.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_REDCOM_HXX +#define SC_REDCOM_HXX + +#ifndef _SVX_POSTDLG_HXX //autogen +#include <svx/postdlg.hxx> +#endif + +#ifndef SC_CHGTRACK_HXX +#include "chgtrack.hxx" +#endif + +class ScDocShell; + +class ScRedComDialog : public SvxPostItDialog +{ + +private: + + ScChangeAction *pChangeAction; + ScDocShell *pDocShell; + String aComment; + + DECL_LINK( PrevHdl, SvxPostItDialog* ); + DECL_LINK( NextHdl, SvxPostItDialog* ); + +protected: + + void ReInit(ScChangeAction *); + void SelectCell(); + + ScChangeAction *FindPrev(ScChangeAction *pAction); + ScChangeAction *FindNext(ScChangeAction *pAction); + +public: + + ScRedComDialog( Window* pParent, const SfxItemSet& rCoreSet, + ScDocShell *,ScChangeAction *,BOOL bPrevNext = FALSE); + ~ScRedComDialog(); + + virtual short Execute(); +}; + +#endif + diff --git a/sc/source/ui/inc/reffact.hxx b/sc/source/ui/inc/reffact.hxx new file mode 100644 index 000000000000..5638e8f3cb2b --- /dev/null +++ b/sc/source/ui/inc/reffact.hxx @@ -0,0 +1,139 @@ +/************************************************************************* + * + * $RCSfile: reffact.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_REFFACT_HXX +#define SC_REFFACT_HXX + +#ifndef _SFX_CHILDWIN_HXX //autogen +#include <sfx2/childwin.hxx> +#endif + +#include "dbfunc.hxx" + +#define DECL_WRAPPER(Class) \ + class Class : public SfxChildWindow \ + { \ + public: \ + Class( Window*, USHORT, SfxBindings*, SfxChildWinInfo* ); \ + SFX_DECL_CHILDWINDOW(Class); \ + }; + + +//================================================================== + +DECL_WRAPPER(ScNameDlgWrapper) +DECL_WRAPPER(ScSolverDlgWrapper) +DECL_WRAPPER(ScPivotLayoutWrapper) +DECL_WRAPPER(ScTabOpDlgWrapper) +DECL_WRAPPER(ScFilterDlgWrapper) +DECL_WRAPPER(ScSpecialFilterDlgWrapper) +DECL_WRAPPER(ScDbNameDlgWrapper) +DECL_WRAPPER(ScConsolidateDlgWrapper) +DECL_WRAPPER(ScChartDlgWrapper) +DECL_WRAPPER(ScPrintAreasDlgWrapper) +DECL_WRAPPER(ScCondFormatDlgWrapper) +DECL_WRAPPER(ScColRowNameRangesDlgWrapper) +DECL_WRAPPER(ScFormulaDlgWrapper) +DECL_WRAPPER(ScHighlightChgDlgWrapper) + +/*!!! dafuer muss der Funktionsautopilot noch umgebaut werden +DECL_WRAPPER(ScFunctionDlgWrapper) +DECL_WRAPPER(ScEditFunctionDlgWrapper) +DECL_WRAPPER(ScArgumentDlgWrapper) +*/ + +class ScAcceptChgDlgWrapper: public SfxChildWindow +{ + public: + ScAcceptChgDlgWrapper( Window*, + USHORT, + SfxBindings*, + SfxChildWinInfo* ); + + SFX_DECL_CHILDWINDOW(Class); + + virtual void ReInitDlg(); +}; + +class ScSimpleRefDlgWrapper: public SfxChildWindow +{ + public: + ScSimpleRefDlgWrapper( Window*, + USHORT, + SfxBindings*, + SfxChildWinInfo* ); + + SFX_DECL_CHILDWINDOW(Class); + + static void SetDefaultPosSize(Point aPos, Size aSize, BOOL bSet=TRUE); + virtual String GetRefString(); + virtual void SetRefString(const String& rStr); + void SetCloseHdl( const Link& rLink ); + static void SetAutoReOpen(BOOL bFlag); + + void StartRefInput(); +}; + + +//================================================================== + + +#endif // SC_REFFACT_HXX diff --git a/sc/source/ui/inc/refundo.hxx b/sc/source/ui/inc/refundo.hxx new file mode 100644 index 000000000000..c287a08ee4d0 --- /dev/null +++ b/sc/source/ui/inc/refundo.hxx @@ -0,0 +1,103 @@ +/************************************************************************* + * + * $RCSfile: refundo.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_REFUNDO_HXX +#define SC_REFUNDO_HXX + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +class ScDocument; +class ScDBCollection; +class ScRangeName; +class ScPrintRangeSaver; +class ScPivotCollection; +class ScDPCollection; +class ScChartCollection; +class ScConditionalFormatList; +class ScDetOpList; +class ScChartListenerCollection; + +class ScRefUndoData +{ +private: + ScDBCollection* pDBCollection; + ScRangeName* pRangeName; + ScPrintRangeSaver* pPrintRanges; + ScPivotCollection* pPivotCollection; + ScDPCollection* pDPCollection; + ScConditionalFormatList* pCondFormList; + ScDetOpList* pDetOpList; + ScChartListenerCollection* pChartListenerCollection; + +public: + ScRefUndoData( const ScDocument* pDoc ); + ~ScRefUndoData(); + + void DeleteUnchanged( const ScDocument* pDoc ); + void DoUndo( ScDocument* pDoc, BOOL bUndoRefFirst ); +}; + + + +#endif + diff --git a/sc/source/ui/inc/rfindlst.hxx b/sc/source/ui/inc/rfindlst.hxx new file mode 100644 index 000000000000..b611af660ca6 --- /dev/null +++ b/sc/source/ui/inc/rfindlst.hxx @@ -0,0 +1,113 @@ +/************************************************************************* + * + * $RCSfile: rfindlst.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_RFINDLST_HXX +#define SC_RFINDLST_HXX + +#ifndef _COLOR_HXX //autogen +#include <vcl/color.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +//================================================================== + +struct ScRangeFindData +{ + ScRange aRef; + USHORT nFlags; + xub_StrLen nSelStart; + xub_StrLen nSelEnd; + + ScRangeFindData( const ScRange& rR, USHORT nF, xub_StrLen nS, xub_StrLen nE ) : + aRef(rR), nFlags(nF), nSelStart(nS), nSelEnd(nE) {} +}; + +class ScRangeFindList +{ + List aEntries; + String aDocName; + BOOL bHidden; + +public: + ScRangeFindList(const String& rName); + ~ScRangeFindList(); + + ULONG Count() const { return aEntries.Count(); } + void Insert( ScRangeFindData* pNew ) { aEntries.Insert(pNew, LIST_APPEND); } + ScRangeFindData* GetObject( ULONG nIndex ) const + { return (ScRangeFindData*)aEntries.GetObject(nIndex); } + + void SetHidden( BOOL bSet ) { bHidden = bSet; } + + const String& GetDocName() const { return aDocName; } + BOOL IsHidden() const { return bHidden; } + + static ColorData GetColorName( USHORT nIndex ); +}; + + + +#endif + + diff --git a/sc/source/ui/inc/scendlg.hxx b/sc/source/ui/inc/scendlg.hxx new file mode 100644 index 000000000000..eafe13a5f7de --- /dev/null +++ b/sc/source/ui/inc/scendlg.hxx @@ -0,0 +1,133 @@ +/************************************************************************* + * + * $RCSfile: scendlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_SCENDLG_HXX +#define SC_SCENDLG_HXX + + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SVEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + +#ifndef _CTRLBOX_HXX //autogen +#include <svtools/ctrlbox.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +//=================================================================== + +class ScNewScenarioDlg : public ModalDialog +{ +public: + ScNewScenarioDlg( Window* pParent, const String& rName, BOOL bEdit = FALSE ); + ~ScNewScenarioDlg(); + + void SetScenarioData( const String& rName, const String& rComment, + const Color& rColor, USHORT nFlags ); + + void GetScenarioData( String& rName, String& rComment, + Color& rColor, USHORT& rFlags ) const; + +private: + GroupBox aGbName; + Edit aEdName; + GroupBox aGbComment; + MultiLineEdit aEdComment; + GroupBox aGbOptions; + CheckBox aCbShowFrame; + ColorListBox aLbColor; + //CheckBox aCbPrintFrame; + CheckBox aCbTwoWay; + //CheckBox aCbAttrib; + //CheckBox aCbValue; + CheckBox aCbCopyAll; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + const String aDefScenarioName; + BOOL bIsEdit; + + DECL_LINK( OkHdl, OKButton * ); +}; + + +#endif // SC_SCENDLG_HXX + + diff --git a/sc/source/ui/inc/select.hxx b/sc/source/ui/inc/select.hxx new file mode 100644 index 000000000000..43dec1df1c98 --- /dev/null +++ b/sc/source/ui/inc/select.hxx @@ -0,0 +1,161 @@ +/************************************************************************* + * + * $RCSfile: select.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_SELECT_HXX +#define SC_SELECT_HXX + +#ifndef _SELENG_HXX //autogen +#include <vcl/seleng.hxx> +#endif + +#include "viewdata.hxx" // ScSplitPos + +// --------------------------------------------------------------------------- + +class ScTabView; +class ScViewData; + + +class ScViewSelectionEngine : public SelectionEngine +{ +private: + ScSplitPos eWhich; +public: + ScViewSelectionEngine( Window* pWindow, ScTabView* pView, + ScSplitPos eSplitPos ); + + ScSplitPos GetWhich() const { return eWhich; } + void SetWhich(ScSplitPos eNew) { eWhich = eNew; } +}; + + +class ScViewFunctionSet : public FunctionSet // View (Gridwin / Tastatur) +{ +private: + ScViewData* pViewData; + ScViewSelectionEngine* pEngine; + + BOOL bAnchor; + BOOL bStarted; + ScTripel aAnchorPos; + + ScSplitPos GetWhich(); + +public: + ScViewFunctionSet( ScViewData* pNewViewData ); + + void SetSelectionEngine( ScViewSelectionEngine* pSelEngine ); + + void SetAnchor( USHORT nPosX, USHORT nPosY ); + void SetAnchorFlag( BOOL bSet ); + + virtual void BeginDrag(); + virtual void CreateAnchor(); + virtual void DestroyAnchor(); + virtual BOOL SetCursorAtPoint( const Point& rPointPixel, BOOL bDontSelectAtCursor = FALSE ); + virtual BOOL IsSelectionAtPoint( const Point& rPointPixel ); + virtual void DeselectAtPoint( const Point& rPointPixel ); + virtual void DeselectAll(); + + BOOL SetCursorAtCell( short nPosX, short nPosY, BOOL bScroll ); +}; + + +// --------------------------------------------------------------------------- + + +class ScHeaderFunctionSet : public FunctionSet // Spalten- / Zeilenkoepfe +{ +private: + ScViewData* pViewData; + BOOL bColumn; // Col- / Rowbar + ScSplitPos eWhich; + + BOOL bAnchor; + USHORT nCursorPos; + +public: + ScHeaderFunctionSet( ScViewData* pNewViewData ); + + void SetColumn( BOOL bSet ); + void SetWhich( ScSplitPos eNew ); + + virtual void BeginDrag(); + virtual void CreateAnchor(); + virtual void DestroyAnchor(); + virtual BOOL SetCursorAtPoint( const Point& rPointPixel, BOOL bDontSelectAtCursor = FALSE ); + virtual BOOL IsSelectionAtPoint( const Point& rPointPixel ); + virtual void DeselectAtPoint( const Point& rPointPixel ); + virtual void DeselectAll(); + + void SetAnchorFlag(BOOL bSet) { bAnchor = bSet; } +}; + + +class ScHeaderSelectionEngine : public SelectionEngine +{ +public: + ScHeaderSelectionEngine( Window* pWindow, ScHeaderFunctionSet* pFuncSet ); +}; + + + +#endif diff --git a/sc/source/ui/inc/servobj.hxx b/sc/source/ui/inc/servobj.hxx new file mode 100644 index 000000000000..3414444fc1a5 --- /dev/null +++ b/sc/source/ui/inc/servobj.hxx @@ -0,0 +1,102 @@ +/************************************************************************* + * + * $RCSfile: servobj.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_SERVOBJ_HXX +#define SC_SERVOBJ_HXX + +#ifndef _SFXLSTNER_HXX //autogen +#include <svtools/lstner.hxx> +#endif +#ifndef _PSEUDO_HXX //autogen +#include <so3/pseudo.hxx> +#endif + +#include "global.hxx" + +class ScDocShell; + +class ScServerObject : public SvPseudoObject, public SfxListener +{ +private: + ScDocShell* pDocSh; + ScRange aRange; + String aItemStr; + BOOL bRefreshListener; + + void Clear(); + +public: + ScServerObject( ScDocShell* pShell, const String& rItem ); + virtual ~ScServerObject(); + + virtual BOOL GetData( SvData* ); + virtual BOOL SetData( SvData& ); + + ULONG GetSelectorCount() const { return SvPseudoObject::GetSelectorCount(); } + + virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, + const SfxHint& rHint, const TypeId& rHintType ); +}; + +//SO2_DECL_REF( ScServerObject ) + + +#endif diff --git a/sc/source/ui/inc/shtabdlg.hxx b/sc/source/ui/inc/shtabdlg.hxx new file mode 100644 index 000000000000..c88c1a98d35d --- /dev/null +++ b/sc/source/ui/inc/shtabdlg.hxx @@ -0,0 +1,105 @@ +/************************************************************************* + * + * $RCSfile: shtabdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_SHTABDLG_HXX +#define SC_SHTABDLG_HXX + +#ifndef _LIST_HXX //autogen +#include <tools/list.hxx> +#endif +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif +#ifndef _BUTTON_HXX //autogen +#include <vcl/button.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif +#ifndef _DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +//------------------------------------------------------------------------ + +class ScShowTabDlg : public ModalDialog +{ +private: + MultiListBox aLb; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + FixedText aFtLbTitle; + + DECL_LINK( DblClkHdl, void * ); + +public: + ScShowTabDlg( Window* pParent, List& aEntryList ); + ~ScShowTabDlg(); + + USHORT GetSelectEntryCount() const; + String GetSelectEntry(USHORT nPos) const; +}; + + +#endif + + diff --git a/sc/source/ui/inc/simpref.hrc b/sc/source/ui/inc/simpref.hrc new file mode 100644 index 000000000000..c31afa69bdd6 --- /dev/null +++ b/sc/source/ui/inc/simpref.hrc @@ -0,0 +1,71 @@ +/************************************************************************* + * + * $RCSfile: simpref.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // -> RID_SCDLG_SIMPLEREF + +#define BTN_OK 1 +#define BTN_CANCEL 2 +#define BTN_ADD 3 +#define BTN_HELP 4 +#define FT_ASSIGN 10 +#define ED_ASSIGN 11 +#define RB_ASSIGN 12 + diff --git a/sc/source/ui/inc/simpref.hxx b/sc/source/ui/inc/simpref.hxx new file mode 100644 index 000000000000..62a2310f7630 --- /dev/null +++ b/sc/source/ui/inc/simpref.hxx @@ -0,0 +1,156 @@ +/************************************************************************* + * + * $RCSfile: simpref.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:00 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_SIMPREF_HXX +#define SC_SIMPREF_HXX + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _COMBOBOX_HXX //autogen +#include <vcl/combobox.hxx> +#endif + +#ifndef _FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _MOREBTN_HXX //autogen +#include <vcl/morebtn.hxx> +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + +#ifndef SC_DBCOLECT_HXX +#include "dbcolect.hxx" +#endif + +#ifndef _SC_EXPFTEXT_HXX +#include "expftext.hxx" +#endif + +class ScViewData; +class ScDocument; + + +//============================================================================ + +class ScSimpleRefDlg: public ScAnyRefDlg +{ +private: + + Link aCloseHdl; + FixedText aFtAssign; + ScRefEdit aEdAssign; + ScRefButton aRbAssign; + + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + ScViewData* pViewData; + ScDocument* pDoc; + BOOL bRefInputMode; + + ScRange theCurArea; + BOOL bCloseFlag; + BOOL bAutoReOpen; + void Init(); + + DECL_LINK( CancelBtnHdl, void * ); + DECL_LINK( OkBtnHdl, void * ); + + +protected: + + virtual void RefInputDone( BOOL bForced = FALSE ); + +public: + ScSimpleRefDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + ScViewData* ptrViewData ); + ~ScSimpleRefDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + + virtual BOOL IsRefInputMode() const; + virtual void SetActive(); + virtual BOOL Close(); + + void StartRefInput(); + + virtual String GetRefString() const; + virtual void SetRefString(const String &rStr); + virtual void FillInfo(SfxChildWinInfo&) const; + + void SetCloseHdl( const Link& rLink ); + + void SetAutoReOpen(BOOL bFlag) {bAutoReOpen=bFlag;} + + static String GetLastRefString(); +}; + + + +#endif // SC_DBNAMDLG_HXX + diff --git a/sc/source/ui/inc/solvrdlg.hrc b/sc/source/ui/inc/solvrdlg.hrc new file mode 100644 index 000000000000..756a68e2356f --- /dev/null +++ b/sc/source/ui/inc/solvrdlg.hrc @@ -0,0 +1,80 @@ +/************************************************************************* + * + * $RCSfile: solvrdlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // ->RID_SCDLG_SOLVER + +#define ED_FORMULACELL 1 +#define ED_TARGETVAL 2 +#define ED_VARCELL 3 +#define FT_FORMULACELL 1 +#define FT_TARGETVAL 2 +#define FT_VARCELL 3 +#define RB_FORMULACELL 1 +#define RB_VARCELL 2 +#define GB_VARIABLES 1 +#define BTN_OK 1 +#define BTN_CANCEL 2 +#define BTN_HELP 1 +#define STR_INVALIDVAL 1 +#define STR_INVALIDVAR 2 +#define STR_INVALIDFORM 3 +#define STR_NOFORMULA 4 + diff --git a/sc/source/ui/inc/solvrdlg.hxx b/sc/source/ui/inc/solvrdlg.hxx new file mode 100644 index 000000000000..d2260751ba8d --- /dev/null +++ b/sc/source/ui/inc/solvrdlg.hxx @@ -0,0 +1,153 @@ +/************************************************************************* + * + * $RCSfile: solvrdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_SOLVRDLG_HXX +#define SC_SOLVRDLG_HXX + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +//---------------------------------------------------------------------------- + +enum ScSolverErr + { + SOLVERR_NOFORMULA, + SOLVERR_INVALID_FORMULA, + SOLVERR_INVALID_VARIABLE, + SOLVERR_INVALID_TARGETVALUE + }; + + +//============================================================================ + +class ScSolverDlg : public ScAnyRefDlg +{ +public: + ScSolverDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + ScDocument* pDocument, + ScAddress aCursorPos ); + ~ScSolverDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + virtual BOOL IsRefInputMode() const { return bMouseInputMode; } + virtual void SetActive(); + virtual BOOL Close(); + +private: + FixedText aFtFormulaCell; + ScRefEdit aEdFormulaCell; + ScRefButton aRBFormulaCell; + + FixedText aFtTargetVal; + Edit aEdTargetVal; + + FixedText aFtVariableCell; + ScRefEdit aEdVariableCell; + ScRefButton aRBVariableCell; + + GroupBox aGbVariables; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + ScAddress theFormulaCell; + ScAddress theVariableCell; + String theTargetValStr; + + ScDocument* pDoc; + const USHORT nCurTab; + ScRefEdit* pEdActive; + BOOL bMouseInputMode; + BOOL bDlgLostFocus; + const String errMsgInvalidVar; + const String errMsgInvalidForm; + const String errMsgNoFormula; + const String errMsgInvalidVal; + + +#ifdef _SOLVRDLG_CXX + void Init(); + BOOL CheckTargetValue( String& rStrVal ); + void RaiseError( ScSolverErr eError ); + + DECL_LINK( BtnHdl, PushButton* ); + DECL_LINK( EdGetFocusHdl, ScRefEdit* ); + DECL_LINK( EdLoseFocusHdl, ScRefEdit* ); +#endif // _SOLVERDLG_CXX +}; + +#endif // SC_SOLVRDLG_HXX + + diff --git a/sc/source/ui/inc/sortdlg.hrc b/sc/source/ui/inc/sortdlg.hrc new file mode 100644 index 000000000000..e3fafa2e4d03 --- /dev/null +++ b/sc/source/ui/inc/sortdlg.hrc @@ -0,0 +1,112 @@ +/************************************************************************* + * + * $RCSfile: sortdlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + + +#include "sc.hrc" // -> RID_SCDLG_SORT + // -> RID_SCPAGE_SORT_FIELDS + // -> RID_SCPAGE_SORT_OPTIONS + // -> SCSTR_NONAME + // -> SCSTR_UNDEFINED + // -> SCSTR_FIELD + +/* +#define RID_SCDLG_SORT 256 +#define RID_SCPAGE_SORT_FIELDS 257 +#define RID_SCPAGE_SORT_OPTIONS 258 +*/ + +#define TP_FIELDS 1 +#define TP_OPTIONS 2 + +// TP_SORT_FIELDS: +#define GB_SORT1 1 +#define GB_SORT2 2 +#define GB_SORT3 3 +#define LB_SORT1 4 +#define LB_SORT2 5 +#define LB_SORT3 6 +#define BTN_UP1 7 +#define BTN_UP2 8 +#define BTN_UP3 9 +#define BTN_DOWN1 10 +#define BTN_DOWN2 11 +#define BTN_DOWN3 12 + +// TP_SORT_OPTIONS: +#define GB_DIRECTION 1 +#define LB_SORT_USER 2 +#define LB_OUTAREA 3 +#define ED_OUTAREA 4 +#define FT_AREA_LABEL 5 +#define FT_AREA 6 +#define BTN_SORT_USER 7 +#define BTN_CASESENSITIVE 8 +#define BTN_LABEL 9 +#define BTN_FORMATS 10 +#define BTN_COPYRESULT 11 +#define BTN_TOP_DOWN 12 +#define BTN_LEFT_RIGHT 13 +#define STR_COL_LABEL 14 +#define STR_ROW_LABEL 15 + + + + diff --git a/sc/source/ui/inc/sortdlg.hxx b/sc/source/ui/inc/sortdlg.hxx new file mode 100644 index 000000000000..e5872be2e5ad --- /dev/null +++ b/sc/source/ui/inc/sortdlg.hxx @@ -0,0 +1,100 @@ +/************************************************************************* + * + * $RCSfile: sortdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_SORTDLG_HXX +#define SC_SORTDLG_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SFX_HXX +#endif + +//================================================================== + +class ScSortDlg : public SfxTabDialog +{ +public: + ScSortDlg( Window* pParent, + const SfxItemSet* pArgSet ); + ~ScSortDlg(); + + void SetHeaders( BOOL bHeaders ); + void SetByRows ( BOOL bByRows ); + BOOL GetHeaders() const; + BOOL GetByRows () const; + + +private: + BOOL bIsHeaders; + BOOL bIsByRows; +}; + +inline void ScSortDlg::SetHeaders( BOOL bHeaders ) { bIsHeaders = bHeaders; } +inline void ScSortDlg::SetByRows ( BOOL bByRows ) { bIsByRows = bByRows; } +inline BOOL ScSortDlg::GetHeaders() const { return bIsHeaders; } +inline BOOL ScSortDlg::GetByRows () const { return bIsByRows; } + + +#endif // SC_SORTDLG_HXX + + diff --git a/sc/source/ui/inc/spelleng.hxx b/sc/source/ui/inc/spelleng.hxx new file mode 100644 index 000000000000..ab9a59dbd34b --- /dev/null +++ b/sc/source/ui/inc/spelleng.hxx @@ -0,0 +1,109 @@ +/************************************************************************* + * + * $RCSfile: spelleng.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_SPELLENG_HXX +#define SC_SPELLENG_HXX + +#include "editutil.hxx" + +class ScViewData; +class ScDocument; +class SfxItemPool; + + +class ScSpellingEngine : public ScEditEngineDefaulter +{ + USHORT nOrgCol; + USHORT nOrgRow; + USHORT nOrgTab; + USHORT nOldCol; + USHORT nOldRow; + BOOL bInSel; + BOOL bIsModifiedAtAll; + BOOL bFirstTime; + BOOL bFirstTable; + LanguageType eOldLnge; + ESelection* pEditSel; + ScViewData* pViewData; + ScDocument* pUndoDoc; + ScDocument* pRedoDoc; +public: + ScSpellingEngine( SfxItemPool* pEnginePool, ScViewData* pVData, + ScDocument* pUndoDc, ScDocument* pRedoDc, + USHORT nCol, USHORT nRow, USHORT nTab, + BOOL bInSelection, LanguageType eLge, ESelection* pEdSel) + : ScEditEngineDefaulter( pEnginePool ), + pViewData ( pVData ), pUndoDoc ( pUndoDc ), pRedoDoc ( pRedoDc ), + nOldCol ( nCol ), nOldRow ( nRow ), + nOrgCol ( nCol ), nOrgRow ( nRow ), nOrgTab ( nTab ), + bInSel( bInSelection ), eOldLnge ( eLge ), + pEditSel( pEdSel ) { bIsModifiedAtAll = FALSE; + bFirstTime = TRUE; + bFirstTable = TRUE; } + ~ScSpellingEngine() {} + virtual BOOL SpellNextDocument(); + BOOL IsModifiedAtAll() const { return bIsModifiedAtAll; } + + LanguageType GetLanguage() const { return eOldLnge; } +}; + + +#endif diff --git a/sc/source/ui/inc/strindlg.hxx b/sc/source/ui/inc/strindlg.hxx new file mode 100644 index 000000000000..61d1209f6c55 --- /dev/null +++ b/sc/source/ui/inc/strindlg.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * $RCSfile: strindlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_STRINDLG_HXX +#define SC_STRINDLG_HXX + + +#ifndef _SV_DIALOG_HXX //autogen +#include <vcl/dialog.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_BUTTON_HXX //autogen +#include <vcl/imagebtn.hxx> +#endif + +#ifndef _SV_EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +//------------------------------------------------------------------------ + +class ScStringInputDlg : public ModalDialog +{ +public: + ScStringInputDlg( Window* pParent, + const String& rTitle, + const String& rEditTitle, + const String& rDefault, + ULONG nHelpId ); + ~ScStringInputDlg(); + + void GetInputString( String& rString ) const; + +private: + Edit aEdInput; // Edit erhaelt so den Focus + FixedText aFtEditTitle; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; +}; + + +#endif // SC_STRINDLG_HXX + + diff --git a/sc/source/ui/inc/structpg.hxx b/sc/source/ui/inc/structpg.hxx new file mode 100644 index 000000000000..9fce93db2bab --- /dev/null +++ b/sc/source/ui/inc/structpg.hxx @@ -0,0 +1,205 @@ +/************************************************************************* + * + * $RCSfile: structpg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_STRUCTPG_HXX +#define SC_STRUCTPG_HXX + +#ifndef SC_FUNCUTL_HXX +#include "funcutl.hxx" +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" // ScAddress +#endif + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#ifndef _LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _SVEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + +#ifndef _SV_TABPAGE_HXX //autogen +#include <vcl/tabpage.hxx> +#endif + +#ifndef _SVSTDARR_STRINGS + +#define _SVSTDARR_STRINGS +#include <svtools/svstdarr.hxx> + +#endif + +#ifndef _SV_TABCTRL_HXX //autogen +#include <vcl/tabctrl.hxx> +#endif + +#ifndef SC_PARAWIN_HXX +#include "parawin.hxx" +#endif + +#ifndef _SVTREEBOX_HXX //autogen +#include <svtools/svtreebx.hxx> +#endif + +#ifndef SC_COMPILER_HXX +#include "compiler.hxx" +#endif + +#ifndef SC_CELL_HXX +#include "cell.hxx" +#endif + + +class ScViewData; +class ScFuncName_Impl; +class ScDocument; +class ScFuncDesc; + +//============================================================================ + +#define STRUCT_END 1 +#define STRUCT_FOLDER 2 +#define STRUCT_ERROR 3 + +#define STRUCT_ERR_C1 1 +#define STRUCT_ERR_C2 2 + +//============================================================================ + + +class ScStructListBox : public SvTreeListBox +{ +private: + + BOOL bActiveFlag; + +protected: + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + +public: + + ScStructListBox(Window* pParent, const ResId& rResId ); + + void SetActiveFlag(BOOL bFlag=TRUE); + BOOL GetActiveFlag(); + void GetFocus(); + void LoseFocus(); +}; + +//============================================================================ + +class ScStructPage : public TabPage +{ +private: + + Link aSelLink; + + FixedText aFtStruct; + ScStructListBox aTlbStruct; + Bitmap aExpBmp; + Bitmap aCollBmp; + Bitmap aCloseBmp; + Bitmap aOpenBmp; + Bitmap aEndBmp; + Bitmap aErrorBmp; + + ScToken* pSelectedToken; + + DECL_LINK( SelectHdl, SvTreeListBox* ); + +protected: + + ScToken* GetFunctionEntry(SvLBoxEntry* pEntry); + +public: + + ScStructPage( Window* pParent); + + SvTreeListBox* GetStructPtr() {return &aTlbStruct;} + + void ClearStruct(); + SvLBoxEntry* InsertEntry(const XubString& rText, SvLBoxEntry* pParent, + USHORT nFlag,ULONG nPos=0,ScToken* pScToken=NULL); + + SvLBoxEntry* InsertEntryWithError(USHORT nError,SvLBoxEntry* pParent, + ULONG nPos=0); + + String GetEntryText(SvLBoxEntry* pEntry); + String GetSelectedEntryText(); + ScToken* GetSelectedToken(); + + void SetSelectionHdl( const Link& rLink ) { aSelLink = rLink; } + const Link& GetSelectionHdl() const { return aSelLink; } +}; + + + +#endif + diff --git a/sc/source/ui/inc/styledlg.hrc b/sc/source/ui/inc/styledlg.hrc new file mode 100644 index 000000000000..fef68f47d5f4 --- /dev/null +++ b/sc/source/ui/inc/styledlg.hrc @@ -0,0 +1,71 @@ +/************************************************************************* + * + * $RCSfile: styledlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#define TP_NUMBER 2 +#define TP_FONT 3 +#define TP_ALIGNMENT 4 +#define TP_BORDER 5 +#define TP_BACKGROUND 6 +#define TP_PROTECTION 7 +#define TP_PAGE_STD 8 +#define TP_PAGE_HEADER 9 +#define TP_PAGE_FOOTER 10 +#define TP_TABLE 11 + diff --git a/sc/source/ui/inc/styledlg.hxx b/sc/source/ui/inc/styledlg.hxx new file mode 100644 index 000000000000..3f55e8ea5efc --- /dev/null +++ b/sc/source/ui/inc/styledlg.hxx @@ -0,0 +1,95 @@ +/************************************************************************* + * + * $RCSfile: styledlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_STYLEDLG_HXX +#define SC_STYLEDLG_HXX + +#ifndef _SFX_HXX +#endif + +#ifndef _SFX_STYLEDLG_HXX //autogen +#include <sfx2/styledlg.hxx> +#endif + +//================================================================== + +class SfxStyleSheetBase; + +class ScStyleDlg : public SfxStyleDialog +{ +public: + ScStyleDlg( Window* pParent, + SfxStyleSheetBase& rStyleBase, + USHORT nRscId ); + ~ScStyleDlg(); + +protected: + virtual void PageCreated( USHORT nPageId, SfxTabPage& rTabPage ); + virtual const SfxItemSet* GetRefreshedSet(); + +private: + USHORT nDlgRsc; +}; + + +#endif // SC_STYLEDLG_HXX + + diff --git a/sc/source/ui/inc/submenu.hrc b/sc/source/ui/inc/submenu.hrc new file mode 100644 index 000000000000..0f1b3acd2c5e --- /dev/null +++ b/sc/source/ui/inc/submenu.hrc @@ -0,0 +1,101 @@ +/************************************************************************* + * + * $RCSfile: submenu.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +// IDs fuer Untermenues + +// 1 ist nicht erlaubt ???? +#define SUBMENU_EDIT 2 +#define SUBMENU_FILL 3 +#define SUBMENU_DELBREAK 4 +#define SUBMENU_VIEW 5 +#define SUBMENU_INSERT 6 +#define SUBMENU_INSBREAK 7 +#define SUBMENU_NAME 8 +#define SUBMENU_INSOBJ 9 +#define SUBMENU_DATA 10 +#define SUBMENU_FILTER 11 +#define SUBMENU_OUTLINE 12 +#define SUBMENU_PIVOT 13 +#define SUBMENU_EXTRA 14 +#define SUBMENU_AUDIT 15 +#define SUBMENU_PROTECT 16 +#define SUBMENU_ROW 17 +#define SUBMENU_COL 18 +#define SUBMENU_TAB 19 +#define SUBMENU_MERGE 20 +#define SUBMENU_AREA 21 +#define SUBMENU_MIRROR 22 +#define SUBMENU_OBJARRANGE 23 +#define SUBMENU_ANCHOR 24 +#define SUBMENU_POPARRANGE 25 +#define SUBMENU_OLEARRANGE 26 +#define SUBMENU_MAIL 27 +#define SUBMENU_OPTIONS 28 +#define SUBMENU_TOOLBARS 29 +#define SUBMENU_GRAPHIC 30 +#define SUBMENU_SPELLING 31 +#define SUBMENU_CELLCONT 32 +#define SUBMENU_OBJMIRROR 33 +#define SUBMENU_OBJALIGN 34 +#define SUBMENU_OBJANCHOR 35 +#define SUBMENU_SENDTO 36 +#define SUBMENU_CHANGES 37 +#define MN_TEMPLATES 38 diff --git a/sc/source/ui/inc/subtdlg.hrc b/sc/source/ui/inc/subtdlg.hrc new file mode 100644 index 000000000000..4a531dc8078f --- /dev/null +++ b/sc/source/ui/inc/subtdlg.hrc @@ -0,0 +1,97 @@ +/************************************************************************* + * + * $RCSfile: subtdlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" + +/* +#define RID_SCDLG_SUBTOTALS 256 +#define RID_SCPAGE_SUBT_GROUP 256 +#define RID_SCPAGE_SUBT_OPTIONS 257 +*/ + +// TabDialog +#define BTN_REMOVE 1 +#define PAGE_GROUP1 1 +#define PAGE_GROUP2 2 +#define PAGE_GROUP3 3 +#define PAGE_OPTIONS 4 + +// Gruppen TabPages +#define FT_GROUP 1 +#define LB_GROUP 1 +#define FT_COLUMNS 2 +#define WND_COLUMNS 2 +#define LB_FUNCTIONS 3 +#define FT_FUNCTIONS 3 + +// Optionen TabPage +#define BTN_PAGEBREAK 2 +#define BTN_CASE 3 +#define BTN_SORT 4 + +#define BTN_FORMATS 5 +#define BTN_USERDEF 6 +#define LB_USERDEF 1 +#define BTN_ASCENDING 1 +#define BTN_DESCENDING 2 +#define GB_OPTIONS 1 + + diff --git a/sc/source/ui/inc/subtdlg.hxx b/sc/source/ui/inc/subtdlg.hxx new file mode 100644 index 000000000000..a45d8cc3d40d --- /dev/null +++ b/sc/source/ui/inc/subtdlg.hxx @@ -0,0 +1,91 @@ +/************************************************************************* + * + * $RCSfile: subtdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_SUBTDLG_HXX +#define SC_SUBTDLG_HXX + +#ifndef _SFX_HXX +#endif + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +//------------------------------------------------------------------------ + +#define SCRET_REMOVE 0x42 + +//================================================================== + +class ScSubTotalDlg : public SfxTabDialog +{ +public: + ScSubTotalDlg( Window* pParent, + const SfxItemSet* pArgSet ); +private: + PushButton aBtnRemove; + DECL_LINK( RemoveHdl, PushButton * ); +}; + + +#endif // SC_SUBTDLG_HXX + + diff --git a/sc/source/ui/inc/tabcont.hxx b/sc/source/ui/inc/tabcont.hxx new file mode 100644 index 000000000000..c4e43f1a2415 --- /dev/null +++ b/sc/source/ui/inc/tabcont.hxx @@ -0,0 +1,115 @@ +/************************************************************************* + * + * $RCSfile: tabcont.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TABCONT_HXX +#define SC_TABCONT_HXX + +#ifndef _TABBAR_HXX //autogen wg. TabBar +#include <svtools/tabbar.hxx> +#endif + + +class ScViewData; + +// --------------------------------------------------------------------------- + +// initial size +#define SC_TABBAR_DEFWIDTH 270 + + +class ScTabControl : public TabBar +{ +private: + ScViewData* pViewData; + BOOL bDragging; + BOOL bErrorShown; + BOOL bAddDown; + USHORT nTabSwitchId; + long nQueryCount; + + void DoDrag( const Region& rRegion ); + + USHORT GetMaxId() const; + USHORT GetPrivatDropPos(const Point& rPos ); + +protected: + virtual void Select(); + virtual void Command( const CommandEvent& rCEvt ); + virtual BOOL Drop( const DropEvent& rEvt ); + virtual BOOL QueryDrop( DropEvent& rEvt ); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt ); + + virtual long StartRenaming(); + virtual long AllowRenaming(); + virtual void EndRenaming(); + +public: + ScTabControl( Window* pParent, ScViewData* pData ); + ~ScTabControl(); + + void UpdateStatus(); + void ActivateView(BOOL bActivate); +}; + + + +#endif diff --git a/sc/source/ui/inc/tabopdlg.hrc b/sc/source/ui/inc/tabopdlg.hrc new file mode 100644 index 000000000000..e61a734055c1 --- /dev/null +++ b/sc/source/ui/inc/tabopdlg.hrc @@ -0,0 +1,84 @@ +/************************************************************************* + * + * $RCSfile: tabopdlg.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "sc.hrc" // ->RID_SCDLG_TABOP + +#define ED_FORMULARANGE 1 +#define ED_ROWCELL 2 +#define ED_COLCELL 3 +#define FT_FORMULARANGE 1 +#define FT_ROWCELL 2 +#define FT_COLCELL 3 +#define RB_FORMULARANGE 1 +#define RB_ROWCELL 2 +#define RB_COLCELL 3 +#define GB_VARIABLES 1 +#define BTN_OK 1 +#define BTN_CANCEL 2 +#define BTN_HELP 1 +#define STR_NOFORMULA 1 +#define STR_NOCOLROW 2 +#define STR_WRONGFORMULA 3 +#define STR_WRONGROWCOL 4 +#define STR_NOCOLFORMULA 5 +#define STR_NOROWFORMULA 6 + + diff --git a/sc/source/ui/inc/tabopdlg.hxx b/sc/source/ui/inc/tabopdlg.hxx new file mode 100644 index 000000000000..fbba2ae36b4b --- /dev/null +++ b/sc/source/ui/inc/tabopdlg.hxx @@ -0,0 +1,158 @@ +/************************************************************************* + * + * $RCSfile: tabopdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TABOPDLG_HXX +#define SC_TABOPDLG_HXX + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +#ifndef SC_ANYREFDG_HXX +#include "anyrefdg.hxx" +#endif + + +//------------------------------------------------------------------------ + +enum ScTabOpErr +{ + TABOPERR_NOFORMULA = 1, + TABOPERR_NOCOLROW, + TABOPERR_WRONGFORMULA, + TABOPERR_WRONGROW, + TABOPERR_NOCOLFORMULA, + TABOPERR_WRONGCOL, + TABOPERR_NOROWFORMULA +}; + +//======================================================================== + +class ScTabOpDlg : public ScAnyRefDlg +{ +public: + ScTabOpDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent, + ScDocument* pDocument, + const ScRefTripel& rCursorPos ); + ~ScTabOpDlg(); + + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ); + virtual BOOL IsRefInputMode() const { return TRUE; } + virtual void SetActive(); + + virtual BOOL Close(); + +private: + FixedText aFtFormulaRange; + ScRefEdit aEdFormulaRange; + ScRefButton aRBFormulaRange; + + FixedText aFtRowCell; + ScRefEdit aEdRowCell; + ScRefButton aRBRowCell; + + FixedText aFtColCell; + ScRefEdit aEdColCell; + ScRefButton aRBColCell; + + GroupBox aGbVariables; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + + ScRefTripel theFormulaCell; + ScRefTripel theFormulaEnd; + ScRefTripel theRowCell; + ScRefTripel theColCell; + + ScDocument* pDoc; + const USHORT nCurTab; + ScRefEdit* pEdActive; + BOOL bDlgLostFocus; + const String errMsgNoFormula; + const String errMsgNoColRow; + const String errMsgWrongFormula; + const String errMsgWrongRowCol; + const String errMsgNoColFormula; + const String errMsgNoRowFormula; + +#ifdef _TABOPDLG_CXX + void Init(); + void RaiseError( ScTabOpErr eError ); + + DECL_LINK( BtnHdl, PushButton* ); + DECL_LINK( EdGetFocusHdl, ScRefEdit* ); + DECL_LINK( EdLoseFocusHdl, ScRefEdit* ); +#endif // _TABOPDLG_CXX +}; + +#endif // SC_TABOPDLG_HXX + + + diff --git a/sc/source/ui/inc/tabpages.hxx b/sc/source/ui/inc/tabpages.hxx new file mode 100644 index 000000000000..aa3135038c21 --- /dev/null +++ b/sc/source/ui/inc/tabpages.hxx @@ -0,0 +1,120 @@ +/************************************************************************* + * + * $RCSfile: tabpages.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TABPAGES_HXX +#define SC_TABPAGES_HXX + +#ifndef _GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +//======================================================================== + +class ScTabPageProtection : public SfxTabPage +{ +public: + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rAttrSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rCoreAttrs ); + virtual void Reset ( const SfxItemSet& ); + +protected: + virtual int DeactivatePage ( SfxItemSet* pSet = NULL ); + +private: + ScTabPageProtection( Window* pParent, + const SfxItemSet& rCoreAttrs ); + ~ScTabPageProtection(); + +private: + TriStateBox aBtnProtect; + TriStateBox aBtnHideFormula; + TriStateBox aBtnHideCell; + FixedInfo aTxtHint; + GroupBox aGbProtect; + + TriStateBox aBtnHidePrint; + FixedInfo aTxtHint2; + GroupBox aGbPrint; + + // aktueller Status: + BOOL bTriEnabled; // wenn vorher Dont-Care + BOOL bDontCare; // alles auf TriState + BOOL bProtect; // einzelne Einstellungen ueber TriState sichern + BOOL bHideForm; + BOOL bHideCell; + BOOL bHidePrint; + + // Handler: + DECL_LINK( ButtonClickHdl, TriStateBox* pBox ); + void UpdateButtons(); +}; + + + +#endif // SC_TABPAGES_HXX diff --git a/sc/source/ui/inc/tabpopsh.hxx b/sc/source/ui/inc/tabpopsh.hxx new file mode 100644 index 000000000000..30105a96ee63 --- /dev/null +++ b/sc/source/ui/inc/tabpopsh.hxx @@ -0,0 +1,91 @@ +/************************************************************************* + * + * $RCSfile: tabpopsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TABPOPSH_HXX +#define SC_TABPOPSH_HXX + +#ifndef _SFXMODULE_HXX //autogen +#include <sfx2/module.hxx> +#endif +#ifndef _SFX_SHELL_HXX //autogen +#include <sfx2/shell.hxx> +#endif + +#include "shellids.hxx" + +class ScTabPopShell : public SfxShell +{ +public: + TYPEINFO(); + SFX_DECL_INTERFACE(SCID_TABPOP_SHELL); + + ScTabPopShell(SfxItemPool& rItemPool); + ~ScTabPopShell(); + + void DummyExec( SfxRequest& rReq ); + void DummyState( SfxItemSet& rSet ); +}; + + + +#endif + + diff --git a/sc/source/ui/inc/tabsplit.hxx b/sc/source/ui/inc/tabsplit.hxx new file mode 100644 index 000000000000..c8f305619b72 --- /dev/null +++ b/sc/source/ui/inc/tabsplit.hxx @@ -0,0 +1,96 @@ +/************************************************************************* + * + * $RCSfile: tabsplit.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TABSPLIT_HXX +#define SC_TABSPLIT_HXX + + +#ifndef _SV_SPLIT_HXX //autogen +#include <vcl/split.hxx> +#endif + +class ScViewData; + +class ScTabSplitter : public Splitter +{ +private: + ScViewData* pViewData; + BOOL bFixed; + +protected: + virtual void MouseMove( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt ); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + + virtual void Splitting( Point& rSplitPos ); + +public: + ScTabSplitter( Window* pParent, WinBits nWinStyle, + ScViewData* pData ); + ~ScTabSplitter(); + + void SetFixed(BOOL bSet); +}; + + + +#endif + diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx new file mode 100644 index 000000000000..7939cc05dbc1 --- /dev/null +++ b/sc/source/ui/inc/tabview.hxx @@ -0,0 +1,503 @@ +/************************************************************************* + * + * $RCSfile: tabview.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TABVIEW_HXX +#define SC_TABVIEW_HXX + +#ifndef _SV_SCRBAR_HXX //autogen +#include <vcl/scrbar.hxx> +#endif + +#ifndef _SVX_ZOOMITEM_HXX //autogen +#include <svx/zoomitem.hxx> +#endif + +#ifndef _IPCLIENT_HXX //autogen +#include <so3/ipclient.hxx> +#endif + +#ifndef SO2_DECL_SVINPLACECLIENT_DEFINED +#define SO2_DECL_SVINPLACECLIENT_DEFINED +SO2_DECL_REF(SvInPlaceClient) +#endif + +#include "viewutil.hxx" +#include "select.hxx" + +class ScEditEngineDefaulter; +class ScGridWindow; +class ScOutlineWindow; +class ScRowBar; +class ScColBar; +class ScTabControl; +class ScTabViewShell; +class SfxPrinter; +class ScDrawView; +class SvBorder; +class FuPoor; +class Splitter; +class ScTabSplitter; +class SdrView; +class SdrObject; +class ScHintWindow; +class ScPageBreakData; +class ScHighlightRanges; +class SchMemChart; +struct ChartSelectionInfo; +class SdrHdlList; + +#define SPLIT_HANDLE_SIZE 3 + +// --------------------------------------------------------------------------- +// Hilfs - Fenster + +class ScCornerButton : public Window +{ +private: + ScViewData* pViewData; + BOOL bAdd; + +protected: + virtual void Paint( const Rectangle& rRect ); + virtual void Resize(); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); +public: + ScCornerButton( Window* pParent, ScViewData* pData, BOOL bAdditional ); + ~ScCornerButton(); + + virtual void StateChanged( StateChangedType nType ); + virtual void DataChanged( const DataChangedEvent& rDCEvt ); +}; + + +// --------------------------------------------------------------------------- + +class ScTabView +{ +private: + Window* pFrameWin; // als erstes !!! + ScViewData aViewData; // muss ganz vorne stehen ! + + ScViewSelectionEngine* pSelEngine; + ScViewFunctionSet aFunctionSet; + + ScHeaderSelectionEngine* pHdrSelEng; + ScHeaderFunctionSet aHdrFunc; + + SvInPlaceClientRef aIPClient; + + ScDrawView* pDrawView; + + Size aFrameSize; // wie bei DoResize uebergeben + Point aBorderPos; + + BOOL bDrawSelMode; // nur Zeichenobjekte selektieren ? + + FuPoor* pDrawActual; + FuPoor* pDrawOld; + + ScGridWindow* pGridWin[4]; + ScColBar* pColBar[2]; + ScRowBar* pRowBar[2]; + ScOutlineWindow* pColOutline[2]; + ScOutlineWindow* pRowOutline[2]; + ScTabSplitter* pHSplitter; + ScTabSplitter* pVSplitter; + ScTabControl* pTabControl; + ScrollBar aVScrollTop; + ScrollBar aVScrollBottom; // anfangs sichtbar + ScrollBar aHScrollLeft; // anfangs sichtbar + ScrollBar aHScrollRight; + ScCornerButton aCornerButton; + ScCornerButton aTopButton; + ScrollBarBox aScrollBarBox; + + ScHintWindow* pInputHintWindow; // Eingabemeldung bei Gueltigkeit + + ScPageBreakData* pPageBreakData; // fuer Seitenumbruch-Modus + ScHighlightRanges* pHighlightRanges; + + Timer aScrollTimer; + ScGridWindow* pTimerWindow; + MouseEvent aTimerMEvt; + + ULONG nTipVisible; + + BOOL bDragging; // fuer Scrollbars + long nPrevDragPos; + + BOOL bIsBlockMode; // Block markieren + BOOL bBlockNeg; // wird Markierung aufgehoben? + BOOL bBlockCols; // werden ganze Spalten markiert? + BOOL bBlockRows; // werden ganze Zeilen markiert? + USHORT nBlockStartX; + USHORT nBlockEndX; + USHORT nBlockStartY; + USHORT nBlockEndY; + USHORT nBlockStartZ; + USHORT nBlockEndZ; + + SvxZoomType eZoomType; + BOOL bMinimized; + BOOL bInUpdateHeader; + BOOL bInActivatePart; + BOOL bInZoomUpdate; + BOOL bMoveIsShift; + + + void Init(); + + void DoAddWin( ScGridWindow* pWin ); + + void InitScrollBar( ScrollBar& rScrollBar, long nMaxVal ); + DECL_LINK( ScrollHdl, ScrollBar* ); + DECL_LINK( EndScrollHdl, ScrollBar* ); + + DECL_LINK( SplitHdl, Splitter* ); + void DoHSplit(long nSplitPos); + void DoVSplit(long nSplitPos); + + DECL_LINK( TimerHdl, Timer* ); + + void UpdateHeaderWidth( const ScVSplitPos* pWhich = NULL, + const USHORT* pPosY = NULL ); + void UpdateVarZoom(); + +protected: + void HideTip(); + void ShowRefTip(); + + void ZoomChanged(); + void UpdateShow(); + void GetBorderSize( SvBorder& rBorder, const Size& rSize ); + + void ResetDrawDragMode(); + BOOL IsDrawTextEdit() const; + void DrawEnableAnim(BOOL bSet); + void DrawShowMarkHdl(BOOL bShow); + + void MakeDrawView(); + + void HideNoteMarker(); + + void UpdateIMap( SdrObject* pObj ); + +public: + ScTabView( Window* pParent, ScDocShell& rDocSh, ScTabViewShell* pViewShell ); + ScTabView( Window* pParent, const ScTabView& rScTabView, ScTabViewShell* pViewShell ); + ~ScTabView(); + + void MakeDrawLayer(); + + void HideListBox(); + + BOOL HasHintWindow() const { return pInputHintWindow != NULL; } + void RemoveHintWindow(); + void TestHintWindow(); + + + DECL_LINK( TabBarResize, void* ); + void SetTabBarWidth( long nNewWidth ); + long GetTabBarWidth(); + + void DoResize( const Point& rOffset, const Size& rSize, BOOL bInner = FALSE ); + void RepeatResize( BOOL bUpdateFix = TRUE ); + void UpdateFixPos(); + Point GetGridOffset() const; + + BOOL IsDrawSelMode() const { return bDrawSelMode; } + void SetDrawSelMode(BOOL bNew) { bDrawSelMode = bNew; } + + void SetDrawFuncPtr(FuPoor* pFuncPtr) { pDrawActual = pFuncPtr; } + void SetDrawFuncOldPtr(FuPoor* pFuncPtr) { pDrawOld = pFuncPtr; } + FuPoor* GetDrawFuncPtr() { return pDrawActual; } + FuPoor* GetDrawFuncOldPtr() { return pDrawOld; } + + void DrawDeselectAll(); + void DrawMarkListHasChanged(); + void UpdateAnchorHandles(); + String GetSelectedChartName() const; + + ScPageBreakData* GetPageBreakData() { return pPageBreakData; } + ScHighlightRanges* GetHighlightRanges() { return pHighlightRanges; } + + void UpdatePageBreakData( BOOL bForcePaint = FALSE ); + + void DrawMarkRect( const Rectangle& rRect ); + + ScViewData* GetViewData() { return &aViewData; } + const ScViewData* GetViewData() const { return &aViewData; } + + ScViewFunctionSet* GetFunctionSet() { return &aFunctionSet; } + ScViewSelectionEngine* GetSelEngine() { return pSelEngine; } + + BOOL SelMouseButtonDown( const MouseEvent& rMEvt ); + + ScDrawView* GetScDrawView() { return pDrawView; } + SdrView* GetSdrView(); // gegen CLOKs + + BOOL IsMinimized() const { return bMinimized; } + + void TabChanged(); + void SetZoom( const Fraction& rNewX, const Fraction& rNewY ); + void SetPagebreakMode( BOOL bSet ); + + void UpdateLayerLocks(); + + void UpdateDrawTextOutliner(); + + void UpdateInputLine(); + + void InitRefMode( USHORT nCurX, USHORT nCurY, USHORT nCurZ, ScRefType eType, + BOOL bPaint = TRUE ); + void DoneRefMode( BOOL bContinue = FALSE ); + void UpdateRef( USHORT nCurX, USHORT nCurY, USHORT nCurZ ); + void StopRefMode(); + + void EndSelection(); + void StopMarking(); + void FakeButtonUp( ScSplitPos eWhich ); + + Window* GetActiveWin(); + Window* GetWindowByPos( ScSplitPos ePos ); + + ScSplitPos FindWindow( Window* pWindow ) const; + + void SetActivePointer( const Pointer& rPointer ); + void SetActivePointer( const ResId& rId ); + + void ActiveGrabFocus(); + void ActiveCaptureMouse(); + void ActiveReleaseMouse(); + Point ActivePixelToLogic( const Point& rDevicePoint ); + + void ClickCursor( USHORT nPosX, USHORT nPosY, BOOL bControl ); + + void SetCursor( USHORT nPosX, USHORT nPosY, BOOL bNew = FALSE ); + + void CellContentChanged(); + void SelectionChanged(); + void CursorPosChanged(); + + void InvertHorizontal( ScVSplitPos eWhich, long nDragPos ); + void InvertVertical( ScHSplitPos eWhich, long nDragPos ); + + Point GetInsertPos(); + + void UpdateAutoFillMark(); + + void HideCursor(); // nur aktiver Teil + void ShowCursor(); + void HideAllCursors(); + void ShowAllCursors(); + + void AlignToCursor( short nCurX, short nCurY, ScFollowMode eMode, + const ScSplitPos* pWhich = NULL ); + + SvxZoomType GetZoomType() const { return eZoomType; } + void SetZoomType( SvxZoomType eNew ) { eZoomType = eNew; } + USHORT CalcZoom( SvxZoomType eType, USHORT nOldZoom ); + +// void CalcZoom( SvxZoomType eType, USHORT& rZoom, USHORT& rCol, USHORT& rRow ); + + void StartDataSelect(); + + // MoveCursorAbs - absolut + // MoveCursorRel - einzelne Zellen + // MoveCursorPage - Bildschirmseite + // MoveCursorArea - Datenblock + // MoveCursorEnd - links oben / benutzter Bereich + + void MoveCursorAbs( short nCurX, short nCurY, ScFollowMode eMode, + BOOL bShift, BOOL bControl, + BOOL bKeepOld = FALSE, BOOL bKeepSel = FALSE ); + void MoveCursorRel( short nMovX, short nMovY, ScFollowMode eMode, + BOOL bShift, BOOL bKeepSel = FALSE ); + void MoveCursorPage( short nMovX, short nMovY, ScFollowMode eMode, BOOL bShift ); + void MoveCursorArea( short nMovX, short nMovY, ScFollowMode eMode, BOOL bShift ); + void MoveCursorEnd( short nMovX, short nMovY, ScFollowMode eMode, BOOL bShift ); + void MoveCursorScreen( short nMovX, short nMovY, ScFollowMode eMode, BOOL bShift ); + + void MoveCursorEnter( BOOL bShift ); // Shift fuer Richtung (kein Markieren) + + void FindNextUnprot( BOOL bShift, BOOL bInSelection = TRUE ); + + void SetTabNo( USHORT nTab, BOOL bNew = FALSE ); + void SelectNextTab( short nDir ); + + void ActivateView( BOOL bActivate, BOOL bFirst ); + void ActivatePart( ScSplitPos eWhich ); + BOOL IsInActivatePart() const { return bInActivatePart; } + + void SetTimer( ScGridWindow* pWin, const MouseEvent& rMEvt ); + void ResetTimer(); + + void ScrollX( long nDeltaX, ScHSplitPos eWhich, BOOL bUpdBars = TRUE ); + void ScrollY( long nDeltaY, ScVSplitPos eWhich, BOOL bUpdBars = TRUE ); + void ScrollLines( long nDeltaX, long nDeltaY ); // aktives + + BOOL ScrollCommand( const CommandEvent& rCEvt, ScSplitPos ePos ); + + void ScrollToObject( SdrObject* pDrawObj ); + void MakeVisible( const Rectangle& rHMMRect ); + + // Zeichnen + + void InvertBlockMark(USHORT nBlockStartX, USHORT nBlockStartY, + USHORT nBlockEndX, USHORT nBlockEndY); + + void DrawDragRect( USHORT nStartX, USHORT nStartY, USHORT nEndX, USHORT nEndY, + ScSplitPos ePos ); + + void PaintCell( USHORT nCol, USHORT nRow, USHORT nTab ); + void PaintArea( USHORT nStartCol, USHORT nStartRow, USHORT nEndCol, USHORT nEndRow, + ScUpdateMode eMode = SC_UPDATE_ALL ); + + void PaintGrid(); + + void PaintTopCol( USHORT nCol ); + void PaintTopArea( USHORT nStartCol, USHORT nEndCol ); + void PaintTop(); + + void PaintLeftRow( USHORT nRow ); + void PaintLeftArea( USHORT nStartRow, USHORT nEndRow ); + void PaintLeft(); + + BOOL PaintExtras(); + + void CreateAnchorHandles(SdrHdlList& rHdl, const ScAddress& rAddress); + + void UpdateFormulas(); + void InterpretVisible(); + void CheckNeedsRepaint(); + + void PaintRangeFinder( long nNumber = -1 ); + void AddHighlightRange( const ScRange& rRange, const Color& rColor ); + void ClearHighlightRanges(); + + long DoChartSelection( ChartSelectionInfo &rInfo, const SchMemChart& rMemChart ); + + long GetGridWidth( ScHSplitPos eWhich ); + long GetGridHeight( ScVSplitPos eWhich ); + + void UpdateScrollBars(); + void SetNewVisArea(); + + void InvalidateAttribs(); + + void MakeEditView( ScEditEngineDefaulter* pEngine, USHORT nCol, USHORT nRow ); + void KillEditView( BOOL bNoPaint ); + void UpdateEditView(); + + + // Bloecke + + void SelectAll( BOOL bContinue = FALSE ); + void SelectAllTables(); + + void MarkCursor( USHORT nCurX, USHORT nCurY, USHORT nCurZ, + BOOL bCols = FALSE, BOOL bRows = FALSE ); + void InitBlockMode( USHORT nCurX, USHORT nCurY, USHORT nCurZ, + BOOL bTestNeg = FALSE, + BOOL bCols = FALSE, BOOL bRows = FALSE ); + void InitOwnBlockMode(); + void DoneBlockMode( BOOL bContinue = FALSE ); + + BOOL IsBlockMode() const { return bIsBlockMode; } + + void MarkColumns(); + void MarkRows(); + void MarkDataArea( BOOL bIncludeCursor = TRUE ); + void Unmark(); + + void MarkRange( const ScRange& rRange, BOOL bSetCursor = TRUE ); + + BOOL IsMarking( USHORT nCol, USHORT nRow, USHORT nTab ) const; + + void PaintMarks( USHORT nStartCol, USHORT nStartRow, USHORT nEndCol, USHORT nEndRow ); + void PaintBlock( BOOL bReset = FALSE ); + + void LockModifiers( USHORT nModifiers ); + USHORT GetLockedModifiers() const; + void ViewOptionsHasChanged( BOOL bHScrollChanged, + BOOL bGraphicsChanged = FALSE); + + Point GetMousePosPixel(); + + void SnapSplitPos( Point& rScreenPosPixel ); + void FreezeSplitters( BOOL bFreeze ); + void RemoveSplit(); + void SplitAtCursor(); + void SplitAtPixel( const Point& rPixel, BOOL bHor, BOOL bVer ); + void InvalidateSplit(); + + void ErrorMessage( USHORT nGlobStrId ); + Window* GetParentOrChild( USHORT nChildId ); + + void EnableRefInput(BOOL bFlag=TRUE); + + Window* GetFrameWin() const { return pFrameWin; } +}; + + + +#endif + diff --git a/sc/source/ui/inc/tabvwsh.hxx b/sc/source/ui/inc/tabvwsh.hxx new file mode 100644 index 000000000000..b53ae8d42887 --- /dev/null +++ b/sc/source/ui/inc/tabvwsh.hxx @@ -0,0 +1,419 @@ +/************************************************************************* + * + * $RCSfile: tabvwsh.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TABVWSH_HXX +#define SC_TABVWSH_HXX + +#ifndef _SFXVIEWSH_HXX //autogen +#include <sfx2/viewsh.hxx> +#endif + +#ifndef _VIEWFAC_HXX //autogen +#include <sfx2/viewfac.hxx> +#endif + +#ifndef SC_DBFUNC_HXX +#include "dbfunc.hxx" // -> tabview +#endif + +#ifndef SC_TARGET_HXX +#include "target.hxx" +#endif + +#ifndef SC_RANGELST_HXX +#include "rangelst.hxx" // ScRangeListRef +#endif + +#ifndef SC_SHELLIDS_HXX +#include "shellids.hxx" +#endif + +class FmFormShell; +class SbxObject; +class SdrOle2Obj; +class SfxBindings; +class SfxChildWindow; +class SfxModelessDialog; +class SvxBorderLine; +class SvxBoxObjectRef; +class SvxNumberInfoItem; +struct SfxChildWinInfo; + +class ScArea; +class ScAuditingShell; +class ScDrawShell; +class ScDrawTextObjectBar; +class ScEditShell; +class ScInputHandler; +class ScPivotShell; +class ScDrawFormShell; +class ScCellShell; +class ScOleObjectShell; +class ScGraphicShell; +class ScChartShell; +class ScPageBreakShell; +class ScDPObject; + +struct ScHeaderFieldData; + + +enum ObjectSelectionType +{ + OST_NONE, + OST_Cell, + OST_Editing, + OST_DrawText, + OST_Drawing, + OST_DrawForm, + OST_Pivot, + OST_Auditing, + OST_OleObject, + OST_Chart, + OST_Graphic +}; + +//================================================================== + + +class ScTabViewShell: public SfxViewShell, public ScDBFunc +{ +private: + static USHORT nInsertCtrlState; + static USHORT nInsCellsCtrlState; + static USHORT nInsObjCtrlState; + + ObjectSelectionType eCurOST; + USHORT nDrawSfxId; + USHORT nCtrlSfxId; + USHORT nFormSfxId; + ScDrawShell* pDrawShell; + ScDrawTextObjectBar* pDrawTextShell; + ScEditShell* pEditShell; + ScPivotShell* pPivotShell; + ScAuditingShell* pAuditingShell; + ScDrawFormShell* pDrawFormShell; + ScCellShell* pCellShell; + ScOleObjectShell* pOleObjectShell; + ScChartShell* pChartShell; + ScGraphicShell* pGraphicShell; + ScPageBreakShell* pPageBreakShell; + + FmFormShell* pFormShell; + + ScInputHandler* pInputHandler; // fuer OLE-Eingabezeile + + SvxBorderLine* pCurFrameLine; + + Point aWinPos; + + ScTabViewTarget aTarget; + ScArea* pPivotSource; + ScDPObject* pDialogDPObject; + + BOOL bFirstActivate; + + BOOL bActiveDrawSh; + BOOL bActiveDrawTextSh; + BOOL bActivePivotSh; + BOOL bActiveAuditingSh; + BOOL bActiveDrawFormSh; + BOOL bActiveOleObjectSh; + BOOL bActiveChartSh; + BOOL bActiveGraphicSh; + BOOL bActiveEditSh; + + + BOOL bDontSwitch; // EditShell nicht abschalten + BOOL bInFormatDialog; // fuer GetSelectionText + BOOL bPrintSelected; // for result of SvxPrtQryBox + + BOOL bReadOnly; // um Status-Aenderungen zu erkennen + + SbxObject* pScSbxObject; + + BOOL bChartDlgIsEdit; // Datenbereich aendern + BOOL bChartAreaValid; // wenn Chart aufgezogen wird + String aEditChartName; + ScRangeListRef aChartSource; + Rectangle aChartPos; + USHORT nChartDestTab; + +private: + void Construct(); + + void SetMySubShell( SfxShell* pShell ); + SfxShell* GetMySubShell() const; + + void DoReadUserData( const String& rData ); + +protected: + virtual void Activate(BOOL bMDI); + virtual void Deactivate(BOOL bMDI); + virtual USHORT PrepareClose( BOOL bUI = TRUE, BOOL bForBrowsing = FALSE ); + + virtual void ShowCursor(FASTBOOL bOn); + + virtual void Move(); // Benachrichtigung + + virtual void AdjustPosSizePixel( const Point &rPos, const Size &rSize ); // alt + + virtual void InnerResizePixel( const Point &rOfs, const Size &rSize ); // neu + virtual void OuterResizePixel( const Point &rOfs, const Size &rSize ); + virtual void SetZoomFactor( const Fraction &rZoomX, const Fraction &rZoomY ); + + virtual void QueryObjAreaPixel( Rectangle& rRect ) const; + + virtual Size GetOptimalSizePixel() const; + + virtual String GetSelectionText( BOOL bWholeWord ); + virtual BOOL HasSelection( BOOL bText ) const; + virtual String GetDescription() const; + + virtual void WriteUserData(String &, BOOL bBrowse = FALSE); + virtual void ReadUserData(const String &, BOOL bBrowse = FALSE); + + virtual FASTBOOL KeyInput( const KeyEvent &rKeyEvent ); + virtual SdrView* GetDrawView() const; + +public: + TYPEINFO(); + + SFX_DECL_INTERFACE(SCID_TABVIEW_SHELL); + SFX_DECL_VIEWFACTORY(ScTabViewShell); + + + // -> Clone-Methode fuer Factory + + ScTabViewShell( SfxViewFrame* pViewFrame, + const ScTabViewShell& rWin ); + + // aus einer allgemeinen Shell konstruieren und + // soviel wie moeglich uebernehmen (SliderPos etc.): + + ScTabViewShell( SfxViewFrame* pViewFrame, + SfxViewShell* pOldSh ); + + virtual ~ScTabViewShell(); + + Window* GetDialogParent(); + + void ExecuteInputDirect(); + + ScInputHandler* GetInputHandler() const; + void UpdateInputHandler( BOOL bForce = FALSE ); + BOOL TabKeyInput(const KeyEvent& rKEvt); + BOOL SfxKeyInput(const KeyEvent& rKEvt); + + void SetActive(); + + SvxBorderLine* GetDefaultFrameLine() const { return pCurFrameLine; } + void SetDefaultFrameLine(const SvxBorderLine* pLine ); + + void ExecuteShowNIY( SfxRequest& rReq ); + void StateDisabled( SfxItemSet& rSet ); + + void Execute( SfxRequest& rReq ); + void GetState( SfxItemSet& rSet ); + + void ExecuteTable( SfxRequest& rReq ); + void GetStateTable( SfxItemSet& rSet ); + + void WindowChanged(); + void ExecDraw(SfxRequest&); + void ExecDrawIns(SfxRequest& rReq); + void GetDrawState(SfxItemSet &rSet); + void GetDrawInsState(SfxItemSet &rSet); + void ExecGallery(SfxRequest& rReq); // StarGallery + void GetGalleryState(SfxItemSet& rSet); + + void ExecImageMap( SfxRequest& rReq ); + void GetImageMapState( SfxItemSet& rSet ); + + void ExecTbx( SfxRequest& rReq ); + void GetTbxState( SfxItemSet& rSet ); + + void ExecuteSave( SfxRequest& rReq ); + void GetSaveState( SfxItemSet& rSet ); + void ExecSearch( SfxRequest& rReq ); + + void ExecuteSbx( SfxRequest& rReq ); + void GetSbxState( SfxItemSet& rSet ); + + void ExecuteObject(SfxRequest& rReq); + void GetObjectState(SfxItemSet &rSet); + + void ExecDrawOpt(SfxRequest& rReq); + void GetDrawOptState(SfxItemSet &rSet); + + + void SetDrawShell( BOOL bActive ); + void SetDrawTextShell( BOOL bActive ); + + void SetPivotShell( BOOL bActive ); + ScArea* GetPivotSource(){return pPivotSource;} + void SetPivotSource(ScArea* pSrc){pPivotSource=pSrc;} + void SetDialogDPObject( const ScDPObject* pObj ); + const ScDPObject* GetDialogDPObject() const { return pDialogDPObject; } + + BOOL GetDontSwitch(){return bDontSwitch;} + void SetDontSwitch(BOOL bFlag){bDontSwitch=bFlag;} + + + void SetAuditShell( BOOL bActive ); + void SetDrawFormShell( BOOL bActive ); + void SetEditShell(EditView* pView, BOOL bActive ); + void SetOleObjectShell( BOOL bActive ); + void SetChartShell( BOOL bActive ); + void SetGraphicShell( BOOL bActive ); + + + void SetDrawShellOrSub(); + void SetCurSubShell( ObjectSelectionType eOST, BOOL bForce = FALSE ); + + ObjectSelectionType GetCurObjectSelectionType(); + + virtual ErrCode DoVerb(long nVerb); + + + void StopEditShell(); + BOOL IsDrawTextShell() const; + BOOL IsAuditShell() const; + + void SetDrawTextUndo( SfxUndoManager* pUndoMgr ); + + void FillFieldData( ScHeaderFieldData& rData ); + + void ResetChartArea(); + void SetChartArea( const ScRangeListRef& rSource, const Rectangle& rDest ); + BOOL GetChartArea( ScRangeListRef& rSource, Rectangle& rDest, USHORT& rTab ) const; + + BOOL IsChartDlgEdit() const; + void SetChartDlgEdit(BOOL bFlag){bChartDlgIsEdit=bFlag;} + + void SetEditChartName(const String& aStr){aEditChartName=aStr;} + const String& GetEditChartName() const; + + virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, + const SfxHint& rHint, const TypeId& rHintType ); + + // Drucken: + virtual SfxPrinter* GetPrinter( BOOL bCreate = FALSE ); + virtual USHORT SetPrinter( SfxPrinter* pNewPrinter, + USHORT nDiffFlags = SFX_PRINTER_ALL ); + + virtual PrintDialog* CreatePrintDialog( Window* pParent ); + virtual void PreparePrint( PrintDialog* pPrintDialog = NULL ); + virtual ErrCode DoPrint( SfxPrinter *pPrinter, + PrintDialog *pPrintDialog, + BOOL bSilent ); + virtual USHORT Print( SfxProgress& rProgress, PrintDialog* pPrintDialog = NULL ); + + void TestFunction( USHORT nPar ); + + void ConnectObject( SdrOle2Obj* pObj ); + BOOL ActivateObject( SdrOle2Obj* pObj, long nVerb ); + + static ScTabViewShell* GetActiveViewShell(); + SfxModelessDialog* CreateRefDialog( SfxBindings* pB, SfxChildWindow* pCW, + SfxChildWinInfo* pInfo, + Window* pParent, USHORT nSlotId ); + + void UpdateOleZoom(); + inline SbxObject* GetScSbxObject() const + { return pScSbxObject; } + inline void SetScSbxObject( SbxObject* pOb ) + { pScSbxObject = pOb; } + + FmFormShell* GetFormShell() const { return pFormShell; } + + void InsertURL( const String& rName, const String& rURL, const String& rTarget, + USHORT nMode ); + void InsertURLButton( const String& rName, const String& rURL, const String& rTarget, + const Point* pInsPos = NULL ); + void InsertURLField( const String& rName, const String& rURL, const String& rTarget ); + + BOOL SelectObject( const String& rName ); + + void SetInFormatDialog(BOOL bFlag) {bInFormatDialog=bFlag;} + BOOL IsInFormatDialog() {return bInFormatDialog;} + + void ForceMove() { Move(); } + + void MakeNumberInfoItem ( ScDocument* pDoc, + ScViewData* pViewData, + SvxNumberInfoItem** ppItem ); + + void UpdateNumberFormatter ( ScDocument* pDoc, + const SvxNumberInfoItem& rInfoItem ); + + void ExecuteCellFormatDlg ( SfxRequest& rReq, USHORT nTabPage = 0xffff ); + + BOOL GetFunction( String& rFuncStr ); + + // Ein kleiner Hack + ScCellShell* GetCellShell(){return pCellShell;} +}; + +//================================================================== + + +#endif + diff --git a/sc/source/ui/inc/target.hxx b/sc/source/ui/inc/target.hxx new file mode 100644 index 000000000000..6140dfbe780c --- /dev/null +++ b/sc/source/ui/inc/target.hxx @@ -0,0 +1,88 @@ +/************************************************************************* + * + * $RCSfile: target.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TARGET_HXX +#define SC_TARGET_HXX + +#ifndef _UNDO_HXX //autogen +#include <svtools/undo.hxx> +#endif + +class ScTabViewShell; + +class ScTabViewTarget : public SfxRepeatTarget +{ +private: + ScTabViewShell* pViewShell; + +public: + TYPEINFO(); + + ScTabViewTarget( ScTabViewShell* pShell ) : pViewShell( pShell ) {} + virtual ~ScTabViewTarget(); + + ScTabViewShell* GetViewShell() const { return pViewShell; } +}; + + + +#endif + diff --git a/sc/source/ui/inc/tbinsert.hrc b/sc/source/ui/inc/tbinsert.hrc new file mode 100644 index 000000000000..6fa99a7b4262 --- /dev/null +++ b/sc/source/ui/inc/tbinsert.hrc @@ -0,0 +1,66 @@ +/************************************************************************* + * + * $RCSfile: tbinsert.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#define RID_TOOLBOX_INSERT 1 +#define RID_TOOLBOX_INSCELLS 2 +#define RID_TOOLBOX_INSOBJ 3 + + diff --git a/sc/source/ui/inc/tbinsert.hxx b/sc/source/ui/inc/tbinsert.hxx new file mode 100644 index 000000000000..e013064d8c70 --- /dev/null +++ b/sc/source/ui/inc/tbinsert.hxx @@ -0,0 +1,127 @@ +/************************************************************************* + * + * $RCSfile: tbinsert.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TBINSERT_HXX +#define SC_TBINSERT_HXX + +#ifndef _SFXTBXCTRL_HXX //autogen +#include <sfx2/tbxctrl.hxx> +#endif + +#ifndef _SFXTBXMGR_HXX //autogen +#include <sfx2/tbxmgr.hxx> +#endif + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +class ScTbxInsertCtrl : public SfxToolBoxControl +{ + USHORT nLastSlotId; + + virtual void Select( BOOL bMod1 = FALSE ); + +public: + SFX_DECL_TOOLBOX_CONTROL(); + + ScTbxInsertCtrl( USHORT nId, ToolBox& rTbx, SfxBindings& rBind ); + ~ScTbxInsertCtrl(); + + virtual SfxPopupWindowType GetPopupWindowType() const; + virtual SfxPopupWindow* CreatePopupWindow(); + virtual void StateChanged( USHORT nSID, + SfxItemState eState, + const SfxPoolItem* pState ); +}; + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +class ScTbxInsertPopup : public SfxPopupWindow +{ + SfxToolBoxManager aTbx; + ResId aRIdWinTemp; + ResId aRIdTbxTemp; + + Link aTbxClickHdl; + + DECL_LINK( TbxSelectHdl, ToolBox* ); + DECL_LINK( TbxClickHdl, ToolBox* ); + +protected: + virtual void PopupModeEnd(); + +public: + ScTbxInsertPopup( USHORT nId, WindowAlign eAlign, + const ResId& rRIdWin, const ResId& rRIdTbx, + SfxBindings& rBindings ); + ~ScTbxInsertPopup(); + + virtual SfxPopupWindow* Clone() const; + void StartSelection(); +}; + + + +#endif + diff --git a/sc/source/ui/inc/teamdlg.hxx b/sc/source/ui/inc/teamdlg.hxx new file mode 100644 index 000000000000..8ec54a268ab1 --- /dev/null +++ b/sc/source/ui/inc/teamdlg.hxx @@ -0,0 +1,92 @@ +/************************************************************************* + * + * $RCSfile: teamdlg.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TEAMDLG_HXX +#define SC_TEAMDLG_HXX + + +#ifndef _SV_FLOATWIN_HXX //autogen +#include <vcl/floatwin.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + + +//======================================================================== + +class ScTeamDlg : public FloatingWindow +{ +public: + ScTeamDlg( Window* pParent ); + ~ScTeamDlg(); + + virtual BOOL Close(); + void Center(); + +private: + FixedBitmap aBmpTeam; +}; + + +#endif + diff --git a/sc/source/ui/inc/textdlgs.hxx b/sc/source/ui/inc/textdlgs.hxx new file mode 100644 index 000000000000..a5c0c911a6d0 --- /dev/null +++ b/sc/source/ui/inc/textdlgs.hxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * $RCSfile: textdlgs.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TEXTDLGS_HXX +#define SC_TEXTDLGS_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +class SfxObjectShell; + +// +// Zeichen-Tab-Dialog +// + +class ScCharDlg : public SfxTabDialog +{ +private: + const SfxItemSet& rOutAttrs; + const SfxObjectShell& rDocShell; + + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); + +public: + ScCharDlg( Window* pParent, const SfxItemSet* pAttr, + const SfxObjectShell* pDocShell ); + ~ScCharDlg() {} +}; + +// +// Absatz-Tab-Dialog +// + +class ScParagraphDlg : public SfxTabDialog +{ +private: + const SfxItemSet& rOutAttrs; + + virtual void PageCreated( USHORT nId, SfxTabPage &rPage ); + +public: + ScParagraphDlg( Window* pParent, const SfxItemSet* pAttr ); + ~ScParagraphDlg() {} +}; + + + +#endif + diff --git a/sc/source/ui/inc/tpcalc.hxx b/sc/source/ui/inc/tpcalc.hxx new file mode 100644 index 000000000000..aba6c2a96288 --- /dev/null +++ b/sc/source/ui/inc/tpcalc.hxx @@ -0,0 +1,150 @@ +/************************************************************************* + * + * $RCSfile: tpcalc.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPCALC_HXX +#define SC_TPCALC_HXX + + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif + + +//=================================================================== + +class ScDocOptions; + +class ScTpCalcOptions : public SfxTabPage +{ +public: + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rCoreSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rCoreSet ); + virtual void Reset ( const SfxItemSet& rCoreSet ); + virtual int DeactivatePage ( SfxItemSet* pSet = NULL ); + +private: + ScTpCalcOptions( Window* pParent, + const SfxItemSet& rCoreSet ); + ~ScTpCalcOptions(); + +private: + CheckBox aBtnIterate; + FixedText aFtSteps; + NumericField aEdSteps; + FixedText aFtEps; + Edit aEdEps; + GroupBox aGbZRefs; + + RadioButton aBtnDateStd; + RadioButton aBtnDateSc10; + RadioButton aBtnDate1904; + + GroupBox aGbDate; + + CheckBox aBtnCase; + CheckBox aBtnCalc; + CheckBox aBtnMatch; + CheckBox aBtnLookUp; + + FixedText aFtPrec; + NumericField aEdPrec; + + const char cDecSep; + + ScDocOptions* pOldOptions; + ScDocOptions* pLocalOptions; + USHORT nWhichCalc; + +#ifdef _TPCALC_CXX +private: + void Init(); + BOOL CheckEps(); + BOOL GetEps( double& rEps ); + + //------------------------------------ + // Handler: + DECL_LINK( RadioClickHdl, RadioButton* ); + DECL_LINK( CheckClickHdl, CheckBox* ); + +#endif +}; + + +#endif + diff --git a/sc/source/ui/inc/tphf.hxx b/sc/source/ui/inc/tphf.hxx new file mode 100644 index 000000000000..120427a83a21 --- /dev/null +++ b/sc/source/ui/inc/tphf.hxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * $RCSfile: tphf.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPHF_HXX +#define SC_TPHF_HXX + + +#ifndef _SVX_HDFT_HXX //autogen +#include <svx/hdft2.hxx> +#endif + +class ScStyleDlg; + +//======================================================================== + +class ScHFPage : public SvxHFPage +{ +public: + virtual ~ScHFPage(); + + virtual void Reset( const SfxItemSet& rSet ); + virtual BOOL FillItemSet( SfxItemSet& rOutSet ); + + void SetPageStyle( const String& rName ) { aStrPageStyle = rName; } + void SetStyleDlg ( const ScStyleDlg* pDlg ) { pStyleDlg = pDlg; } + +protected: + ScHFPage( Window* pParent, + USHORT nResId, + const SfxItemSet& rSet, + USHORT nSetId ); + + virtual void ActivatePage( const SfxItemSet& rSet ); + virtual int DeactivatePage( SfxItemSet* pSet = 0 ); + +private: + PushButton aBtnEdit; + SfxItemSet aDataSet; + String aStrPageStyle; + USHORT nPageUsage; + const ScStyleDlg* pStyleDlg; + +#ifdef _TPHF_CXX +private: + DECL_LINK( BtnHdl, PushButton* ); + DECL_LINK( HFEditHdl, void* ); + DECL_LINK( TurnOnHdl, CheckBox* ); +#endif +}; + +//======================================================================== + +class ScHeaderPage : public ScHFPage +{ +public: + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rSet ); + static USHORT* GetRanges(); + +private: + ScHeaderPage( Window* pParent, const SfxItemSet& rSet ); +}; + +//======================================================================== + +class ScFooterPage : public ScHFPage +{ +public: + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rSet ); + static USHORT* GetRanges(); + +private: + ScFooterPage( Window* pParent, const SfxItemSet& rSet ); +}; + + +#endif // SC_TPHF_HXX + diff --git a/sc/source/ui/inc/tphfedit.hxx b/sc/source/ui/inc/tphfedit.hxx new file mode 100644 index 000000000000..c9714327f234 --- /dev/null +++ b/sc/source/ui/inc/tphfedit.hxx @@ -0,0 +1,267 @@ +/************************************************************************* + * + * $RCSfile: tphfedit.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPHFEDIT_HXX +#define SC_TPHFEDIT_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SVX_PAGEITEM_HXX //autogen +#include <svx/pageitem.hxx> +#endif + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef SC_ITEMS_HXX +#include "scitems.hxx" // wegen enum SvxNumType +#endif + +#ifndef _SV_TIMER_HXX //autogen +#include <vcl/timer.hxx> +#endif + +#ifndef _SV_VIRDEV_HXX //autogen +#include <vcl/virdev.hxx> +#endif + +#ifndef SC_POPMENU_HXX +#include <popmenu.hxx> +#endif + + +//=================================================================== + +class ScHeaderEditEngine; +class EditView; +class EditTextObject; +class SvxFieldItem; + +class ScEditWindow : public Control +{ +public: + ScEditWindow( Window* pParent, const ResId& rResId ); + ~ScEditWindow(); + + void SetFont( const Font& rTextFont ); + void SetText( const EditTextObject& rTextObject ); + EditTextObject* CreateTextObject(); + void SetCharAttriutes(); + + void InsertField( const SvxFieldItem& rFld ); + + void SetNumType(SvxNumType eNumType); + +protected: + virtual void Paint( const Rectangle& rRec ); + virtual void MouseMove( const MouseEvent& rMEvt ); + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt ); + virtual void KeyInput( const KeyEvent& rKEvt ); + virtual void GetFocus(); + +private: + ScHeaderEditEngine* pEdEngine; + EditView* pEdView; +}; + +//=================================================================== +class ScExtIButton : public ImageButton +{ +private: + + Timer aTimer; + ScPopupMenu* pPopupMenu; + Link aMLink; + USHORT nSelected; + + DECL_LINK( TimerHdl, Timer*); + +// void DrawArrow(); + +protected: + + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void MouseButtonUp( const MouseEvent& rMEvt); + virtual void Click(); + + virtual void StartPopup(); + +public: + + ScExtIButton(Window* pParent, const ResId& rResId ); + + void SetPopupMenu(ScPopupMenu* pPopUp); + + USHORT GetSelected(); + + void SetMenuHdl( const Link& rLink ) { aMLink = rLink; } + const Link& GetMenuHdl() const { return aMLink; } + + virtual long PreNotify( NotifyEvent& rNEvt ); +}; + + +//=================================================================== + +class ScHFEditPage : public SfxTabPage +{ +public: + virtual BOOL FillItemSet ( SfxItemSet& rCoreSet ); + virtual void Reset ( const SfxItemSet& rCoreSet ); + + void SetNumType(SvxNumType eNumType); + +protected: + ScHFEditPage( Window* pParent, + USHORT nResId, + const SfxItemSet& rCoreSet, + USHORT nWhich ); + virtual ~ScHFEditPage(); + +private: + FixedText aFtLeft; + ScEditWindow aWndLeft; + FixedText aFtCenter; + ScEditWindow aWndCenter; + FixedText aFtRight; + ScEditWindow aWndRight; + ImageButton aBtnText; + ScExtIButton aBtnFile; + ImageButton aBtnTable; + ImageButton aBtnPage; + ImageButton aBtnLastPage; + ImageButton aBtnDate; + ImageButton aBtnTime; + FixedInfo aFtInfo; + GroupBox aGbInfo; + ScPopupMenu aPopUpFile; + + USHORT nWhich; + String aCmdArr[6]; + +private: +#ifdef _TPHFEDIT_CXX + void FillCmdArr(); + DECL_LINK( ClickHdl, ImageButton* ); + DECL_LINK( MenuHdl, ScExtIButton* ); +#endif +}; + +//=================================================================== + +class ScRightHeaderEditPage : public ScHFEditPage +{ +public: + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rCoreSet ); + static USHORT* GetRanges(); + +private: + ScRightHeaderEditPage( Window* pParent, const SfxItemSet& rSet ); +}; + +//=================================================================== + +class ScLeftHeaderEditPage : public ScHFEditPage +{ +public: + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rCoreSet ); + static USHORT* GetRanges(); + +private: + ScLeftHeaderEditPage( Window* pParent, const SfxItemSet& rSet ); +}; + +//=================================================================== + +class ScRightFooterEditPage : public ScHFEditPage +{ +public: + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rCoreSet ); + static USHORT* GetRanges(); + +private: + ScRightFooterEditPage( Window* pParent, const SfxItemSet& rSet ); +}; + +//=================================================================== + +class ScLeftFooterEditPage : public ScHFEditPage +{ +public: + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rCoreSet ); + static USHORT* GetRanges(); + +private: + ScLeftFooterEditPage( Window* pParent, const SfxItemSet& rSet ); +}; + + + +#endif // SC_TPHFEDIT_HXX + diff --git a/sc/source/ui/inc/tpprint.hxx b/sc/source/ui/inc/tpprint.hxx new file mode 100644 index 000000000000..cd369d2df942 --- /dev/null +++ b/sc/source/ui/inc/tpprint.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * $RCSfile: tpprint.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPPRINT_HXX +#define SC_TPPRINT_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +//=================================================================== + +class ScDocOptions; + +class ScTpPrintOptions : public SfxTabPage +{ +public: + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rCoreSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rCoreSet ); + virtual void Reset ( const SfxItemSet& rCoreSet ); + virtual int DeactivatePage ( SfxItemSet* pSet = NULL ); + +private: + ScTpPrintOptions( Window* pParent, + const SfxItemSet& rCoreSet ); + ~ScTpPrintOptions(); + +private: + CheckBox aBtnPrinterNotFound; + CheckBox aBtnPageSize; + CheckBox aBtnOrientation; + GroupBox aGbWarnings; + + const USHORT nWhichPrint; + +#ifdef _TPPRINT_CXX +#endif +}; + + +#endif + + diff --git a/sc/source/ui/inc/tpsort.hxx b/sc/source/ui/inc/tpsort.hxx new file mode 100644 index 000000000000..6d2b769f9cb4 --- /dev/null +++ b/sc/source/ui/inc/tpsort.hxx @@ -0,0 +1,244 @@ +/************************************************************************* + * + * $RCSfile: tpsort.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPSORT_HXX +#define SC_TPSORT_HXX + + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SV_EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif + + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +//------------------------------------------------------------------------ + +#define SC_MAXFIELDS 200 + +class ScViewData; +class ScSortDlg; + +//======================================================================== +// Kriterien + +class ScTabPageSortFields : public SfxTabPage +{ +public: + ScTabPageSortFields( Window* pParent, + const SfxItemSet& rArgSet ); + ~ScTabPageSortFields(); + + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rArgSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rArgSet ); + virtual void Reset ( const SfxItemSet& rArgSet ); + +protected: +// fuer Datenaustausch (sollte noch umgestellt werden!) +// virtual void ActivatePage ( const SfxItemSet& rSet ); + virtual void ActivatePage (); + virtual int DeactivatePage ( SfxItemSet* pSet = 0); + +private: + ListBox aLbSort1; + RadioButton aBtnUp1; + RadioButton aBtnDown1; + GroupBox aGbSort1; + + ListBox aLbSort2; + RadioButton aBtnUp2; + RadioButton aBtnDown2; + GroupBox aGbSort2; + + ListBox aLbSort3; + RadioButton aBtnUp3; + RadioButton aBtnDown3; + GroupBox aGbSort3; + + String aStrUndefined; + String aStrColumn; + String aStrRow; + + const USHORT nWhichSort; + ScSortDlg* pDlg; + ScViewData* pViewData; + const ScSortParam& rSortData; + USHORT nFieldArr[SC_MAXFIELDS]; + USHORT nFieldCount; + USHORT nFirstCol; + USHORT nFirstRow; + BOOL bHasHeader; + BOOL bSortByRows; + + ListBox* aSortLbArr[3]; + RadioButton* aDirBtnArr[3][2]; + GroupBox* aGbArr[3]; + +#ifdef _TPSORT_CXX +private: + void Init (); + void DisableField ( USHORT nField ); + void EnableField ( USHORT nField ); + void FillFieldLists (); + USHORT GetFieldSelPos ( USHORT nField ); + + // Handler ------------------------ + DECL_LINK( SelectHdl, ListBox * ); +#endif +}; + +//======================================================================== +// Sortieroptionen: + +class ScDocument; +class ScRangeData; + +class ScTabPageSortOptions : public SfxTabPage +{ +public: + ScTabPageSortOptions( Window* pParent, + const SfxItemSet& rArgSet ); + ~ScTabPageSortOptions(); + + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rArgSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rArgSet ); + virtual void Reset ( const SfxItemSet& rArgSet ); + +protected: +// fuer Datenaustausch (sollte noch umgestellt werden!) +// virtual void ActivatePage ( const SfxItemSet& rSet ); + virtual void ActivatePage (); + virtual int DeactivatePage ( SfxItemSet* pSet = 0); + +private: + + CheckBox aBtnCase; + CheckBox aBtnHeader; + CheckBox aBtnFormats; + + CheckBox aBtnCopyResult; + ListBox aLbOutPos; + Edit aEdOutPos; + + CheckBox aBtnSortUser; + ListBox aLbSortUser; + + RadioButton aBtnTopDown; + RadioButton aBtnLeftRight; + GroupBox aGbDirection; + FixedText aFtAreaLabel; + FixedInfo aFtArea; + String aStrRowLabel; + String aStrColLabel; + String aStrUndefined; + String aStrNoName; + + const USHORT nWhichSort; + const ScSortParam& rSortData; + ScViewData* pViewData; + ScDocument* pDoc; + ScSortDlg* pDlg; + ScAddress theOutPos; + +#ifdef _TPSORT_CXX +private: + void Init (); + void FillUserSortListBox (); + void FillOutPosList (); + + // Handler ------------------------ + DECL_LINK( EnableHdl, CheckBox * ); + DECL_LINK( SelOutPosHdl, ListBox * ); + void EdOutPosModHdl ( Edit* pEd ); + DECL_LINK( SortDirHdl, RadioButton * ); +#endif +}; + + + +#endif // SC_TPSORT_HXX + diff --git a/sc/source/ui/inc/tpstat.hxx b/sc/source/ui/inc/tpstat.hxx new file mode 100644 index 000000000000..5e5eb7f199df --- /dev/null +++ b/sc/source/ui/inc/tpstat.hxx @@ -0,0 +1,112 @@ +/************************************************************************* + * + * $RCSfile: tpstat.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPSTAT_HXX +#define SC_TPSTAT_HXX + + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _STDCTRL_HXX //autogen +#include <svtools/stdctrl.hxx> +#endif + + + +//======================================================================== + +class ScDocStatPage: public SfxTabPage +{ +public: + static SfxTabPage* Create( Window* pParent, const SfxItemSet& rSet ); + +private: + ScDocStatPage( Window *pParent, const SfxItemSet& rSet ); + ~ScDocStatPage(); + +protected: + virtual BOOL FillItemSet( SfxItemSet& rSet ); + virtual void Reset ( const SfxItemSet& rSet ); + +private: + FixedText aFtTablesLbl; + FixedInfo aFtTables; + FixedText aFtCellsLbl; + FixedInfo aFtCells; + FixedText aFtPagesLbl; + FixedInfo aFtPages; + + GroupBox aGbInfo; +}; + + + +#endif diff --git a/sc/source/ui/inc/tpsubt.hxx b/sc/source/ui/inc/tpsubt.hxx new file mode 100644 index 000000000000..d6b39cc1d0f1 --- /dev/null +++ b/sc/source/ui/inc/tpsubt.hxx @@ -0,0 +1,235 @@ +/************************************************************************* + * + * $RCSfile: tpsubt.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPSUBT_HXX +#define SC_TPSUBT_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SVX_CHECKLBX_HXX //autogen +#include <svx/checklbx.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +//------------------------------------------------------------------------ + +#define SC_MAXFIELDS 200 + +class ScViewData; +class ScDocument; + +//======================================================================== +// Gruppenseiten: Basisklasse + +class ScTpSubTotalGroup : public SfxTabPage +{ +protected: + ScTpSubTotalGroup( Window* pParent, USHORT nResId, + const SfxItemSet& rArgSet ); + +public: + virtual ~ScTpSubTotalGroup(); + + static USHORT* GetRanges (); + BOOL DoReset ( USHORT nGroupNo, + const SfxItemSet& rArgSet ); + BOOL DoFillItemSet ( USHORT nGroupNo, + SfxItemSet& rArgSet ); +protected: + ListBox aLbGroup; + SvxCheckListBox aLbColumns; + ListBox aLbFunctions; + FixedText aFtGroup; + FixedText aFtColumns; + FixedText aFtFunctions; + const String aStrNone; + const String aStrColumn; + + ScViewData* pViewData; + ScDocument* pDoc; + + const USHORT nWhichSubTotals; + const ScSubTotalParam& rSubTotalData; + USHORT nFieldArr[SC_MAXFIELDS]; + const USHORT nFieldCount; + +private: + void Init (); + void FillListBoxes (); + ScSubTotalFunc LbPosToFunc ( USHORT nPos ); + USHORT FuncToLbPos ( ScSubTotalFunc eFunc ); + USHORT GetFieldSelPos ( USHORT nField ); + + // Handler ------------------------ + DECL_LINK( SelectHdl, ListBox * ); + DECL_LINK( CheckHdl, ListBox * ); +}; + +//------------------------------------------------------------------------ + +class ScTpSubTotalGroup1 : public ScTpSubTotalGroup +{ +protected: + ScTpSubTotalGroup1( Window* pParent, + const SfxItemSet& rArgSet ); + +public: + virtual ~ScTpSubTotalGroup1(); + + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rArgSet ); + virtual BOOL FillItemSet ( SfxItemSet& rArgSet ); + virtual void Reset ( const SfxItemSet& rArgSet ); +}; + +//------------------------------------------------------------------------ + +class ScTpSubTotalGroup2 : public ScTpSubTotalGroup +{ +protected: + ScTpSubTotalGroup2( Window* pParent, + const SfxItemSet& rArgSet ); + +public: + virtual ~ScTpSubTotalGroup2(); + + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rArgSet ); + virtual BOOL FillItemSet ( SfxItemSet& rArgSet ); + virtual void Reset ( const SfxItemSet& rArgSet ); +}; + +//------------------------------------------------------------------------ + +class ScTpSubTotalGroup3 : public ScTpSubTotalGroup +{ +protected: + ScTpSubTotalGroup3( Window* pParent, + const SfxItemSet& rArgSet ); + +public: + virtual ~ScTpSubTotalGroup3(); + + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rArgSet ); + virtual BOOL FillItemSet ( SfxItemSet& rArgSet ); + virtual void Reset ( const SfxItemSet& rArgSet ); +}; + +//======================================================================== +// Optionen: + +class ScTpSubTotalOptions : public SfxTabPage +{ +protected: + ScTpSubTotalOptions( Window* pParent, + const SfxItemSet& rArgSet ); + +public: + virtual ~ScTpSubTotalOptions(); + + static USHORT* GetRanges (); + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rArgSet ); + virtual BOOL FillItemSet ( SfxItemSet& rArgSet ); + virtual void Reset ( const SfxItemSet& rArgSet ); + +private: + CheckBox aBtnPagebreak; + CheckBox aBtnCase; + CheckBox aBtnSort; + CheckBox aBtnFormats; + CheckBox aBtnUserDef; + ListBox aLbUserDef; + RadioButton aBtnAscending; + RadioButton aBtnDescending; + GroupBox aGbOptions; + + ScViewData* pViewData; + ScDocument* pDoc; + const USHORT nWhichSubTotals; + const ScSubTotalParam& rSubTotalData; + +private: + void Init (); + void FillUserSortListBox (); + + // Handler ------------------------ + DECL_LINK( CheckHdl, CheckBox * ); +}; + + + +#endif // SC_TPSORT_HXX + diff --git a/sc/source/ui/inc/tptable.hxx b/sc/source/ui/inc/tptable.hxx new file mode 100644 index 000000000000..3a7b42cf8ade --- /dev/null +++ b/sc/source/ui/inc/tptable.hxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * $RCSfile: tptable.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPTABLE_HXX +#define SC_TPTABLE_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +//=================================================================== + +class ScTablePage : public SfxTabPage +{ +public: + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rCoreSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rCoreSet ); + virtual void Reset ( const SfxItemSet& rCoreSet ); + virtual int DeactivatePage ( SfxItemSet* pSet = NULL ); + +private: + ScTablePage( Window* pParent, + const SfxItemSet& rCoreSet ); + ~ScTablePage(); +private: + CheckBox aBtnHeaders; + CheckBox aBtnGrid; + CheckBox aBtnNotes; + CheckBox aBtnObjects; + CheckBox aBtnCharts; + CheckBox aBtnDrawings; + CheckBox aBtnFormulas; + CheckBox aBtnNullVals; + GroupBox aGbPrint; + + RadioButton aBtnTopDown; + RadioButton aBtnLeftRight; + FixedBitmap aBmpPageDir; + Bitmap aImgLeftRight; + Bitmap aImgTopDown; + CheckBox aBtnPageNo; + NumericField aEdPageNo; + GroupBox aGbPageDir; + + RadioButton aBtnScaleAll; + RadioButton aBtnScalePageNum; + NumericField aEdScaleAll; + NumericField aEdScalePageNum; + GroupBox aGbScale; + +#ifdef _TPTABLE_CXX +private: + //------------------------------------ + // Handler: + DECL_LINK( ScaleHdl, RadioButton* ); + DECL_LINK( PageDirHdl, RadioButton* ); + DECL_LINK( PageNoHdl, CheckBox* ); +#endif +}; + + + +#endif // SC_TPTABLE_HXX diff --git a/sc/source/ui/inc/tpusrlst.hxx b/sc/source/ui/inc/tpusrlst.hxx new file mode 100644 index 000000000000..9e42812957bf --- /dev/null +++ b/sc/source/ui/inc/tpusrlst.hxx @@ -0,0 +1,163 @@ +/************************************************************************* + * + * $RCSfile: tpusrlst.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPUSRLST_HXX +#define SC_TPUSRLST_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SVEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + +#define SC_MAXFIELDS 200 + +//======================================================================== +// Benutzerdefinierte Listen: + +class ScUserList; +class ScDocument; +class ScViewData; +class ScRangeUtil; + +class ScTpUserLists : public SfxTabPage +{ +public: + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rAttrSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rCoreAttrs ); + virtual void Reset ( const SfxItemSet& rCoreAttrs ); + virtual int DeactivatePage ( SfxItemSet* pSet = NULL ); + +private: + ScTpUserLists( Window* pParent, + const SfxItemSet& rArgSet ); + ~ScTpUserLists(); + +private: + FixedText aFtLists; + ListBox aLbLists; + FixedText aFtEntries; + MultiLineEdit aEdEntries; + FixedText aFtCopyFrom; + Edit aEdCopyFrom; + PushButton aBtnNew; + PushButton aBtnAdd; + PushButton aBtnRemove; + PushButton aBtnCopy; + + const String aStrQueryRemove; + const String aStrNew; + const String aStrCancel; + const String aStrAdd; + const String aStrModify; + const String aStrCopyList; + const String aStrCopyFrom; + const String aStrCopyErr; + + const USHORT nWhichUserLists; + ScUserList* pUserLists; + + ScDocument* pDoc; + ScViewData* pViewData; + ScRangeUtil* pRangeUtil; + String aStrSelectedArea; + + BOOL bModifyMode; + BOOL bCancelMode; + BOOL bCopyDone; + USHORT nCancelPos; + +#ifdef _TPUSRLST_CXX +private: + void Init (); + USHORT UpdateUserListBox (); + void UpdateEntries ( USHORT nList ); + void MakeListStr ( String& rListStr ); + void AddNewList ( const String& rEntriesStr ); + void RemoveList ( USHORT nList ); + void ModifyList ( USHORT nSelList, + const String& rEntriesStr ); + void CopyListFromArea ( const ScRefTripel& rStartPos, + const ScRefTripel& rEndPos ); + + // Handler: + DECL_LINK( LbSelectHdl, ListBox* ); + DECL_LINK( BtnClickHdl, PushButton* ); + DECL_LINK( EdEntriesModHdl, MultiLineEdit* ); +#endif +}; + + + +#endif // SC_TPUSRLST_HXX + diff --git a/sc/source/ui/inc/tpview.hxx b/sc/source/ui/inc/tpview.hxx new file mode 100644 index 000000000000..3617c7341f26 --- /dev/null +++ b/sc/source/ui/inc/tpview.hxx @@ -0,0 +1,215 @@ +/************************************************************************* + * + * $RCSfile: tpview.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_TPVIEW_HXX +#define SC_TPVIEW_HXX + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SV_FIELD_HXX //autogen +#include <vcl/field.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _CTRLBOX_HXX //autogen +#include <svtools/ctrlbox.hxx> +#endif + +#ifndef _SVX_STRARRAY_HXX //autogen +#include <svx/strarray.hxx> +#endif + +//======================================================================== +// View-Optionen: + +class ScViewOptions; + +//======================================================================== +// TabPage Inhalte + +class ScTpContentOptions : public SfxTabPage +{ + GroupBox aDisplayGB; + CheckBox aFormulaCB; + CheckBox aNilCB; + CheckBox aAnnotCB; + CheckBox aValueCB; + CheckBox aAnchorCB; + CheckBox aClipMarkCB; + + GroupBox aObjectGB; + FixedText aObjGrfFT; + ListBox aObjGrfLB; + FixedText aDiagramFT; + ListBox aDiagramLB; + FixedText aDrawFT; + ListBox aDrawLB; + + ScViewOptions* pLocalOptions; + + DECL_LINK( SelLbObjHdl, ListBox* ); + DECL_LINK( CBHdl, CheckBox* ); + + ScTpContentOptions( Window* pParent, + const SfxItemSet& rArgSet ); + ~ScTpContentOptions(); + +public: + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rCoreSet ); + virtual BOOL FillItemSet ( SfxItemSet& rCoreSet ); + virtual void Reset ( const SfxItemSet& rCoreSet ); + virtual void ActivatePage( const SfxItemSet& ); + virtual int DeactivatePage( SfxItemSet* pSet = 0 ); + + +}; + +//======================================================================== +// TabPage Layout + +class ScTpLayoutOptions : public SfxTabPage +{ + GroupBox aLinesGB; + CheckBox aGridCB; + FixedText aColorFT; + ColorListBox aColorLB; + CheckBox aBreakCB; + CheckBox aGuideLineCB; + CheckBox aHandleCB; + CheckBox aBigHandleCB; + + GroupBox aWindowGB; + CheckBox aRowColHeaderCB; + CheckBox aHScrollCB; + CheckBox aVScrollCB; + CheckBox aTblRegCB; + CheckBox aOutlineCB; + + GroupBox aUnitGB; + ListBox aUnitLB; + + GroupBox aTabGB; + MetricField aTabMF; + + SvxStringArray aUnitArr; + ScViewOptions* pLocalOptions; + + void InitGridOpt(); + DECL_LINK( GridHdl, CheckBox* ); + DECL_LINK( CBHdl, CheckBox* ); + DECL_LINK(MetricHdl, ListBox*); + + ScTpLayoutOptions( Window* pParent, + const SfxItemSet& rArgSet ); + ~ScTpLayoutOptions(); + +public: + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rCoreSet ); + virtual BOOL FillItemSet ( SfxItemSet& rCoreSet ); + virtual void Reset ( const SfxItemSet& rCoreSet ); + virtual void ActivatePage( const SfxItemSet& ); + virtual int DeactivatePage( SfxItemSet* pSet = 0 ); + + +}; +//======================================================================== +// TabPage Eingabe + +class ScTpInputOptions : public SfxTabPage +{ + GroupBox aOptionsGB; + CheckBox aAlignCB; + ListBox aAlignLB; + CheckBox aEditModeCB; + CheckBox aFormatCB; + CheckBox aRangeFindCB; + CheckBox aExpRefCB; + CheckBox aMarkHdrCB; + + DECL_LINK( AlignHdl, CheckBox* ); + + ScTpInputOptions( Window* pParent, + const SfxItemSet& rArgSet ); + ~ScTpInputOptions(); + +public: + static SfxTabPage* Create ( Window* pParent, + const SfxItemSet& rCoreSet ); + virtual BOOL FillItemSet ( SfxItemSet& rCoreSet ); + virtual void Reset ( const SfxItemSet& rCoreSet ); + +}; + + + +#endif // SC_TPUSRLST_HXX + diff --git a/sc/source/ui/inc/ui_pch.hxx b/sc/source/ui/inc/ui_pch.hxx new file mode 100644 index 000000000000..e59451874d89 --- /dev/null +++ b/sc/source/ui/inc/ui_pch.hxx @@ -0,0 +1,406 @@ +/************************************************************************* + * + * $RCSfile: ui_pch.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +// ItemID-Defines etc. muessen immer ganz vorne stehen + +#include "scitems.hxx" +#include "eetext.hxx" + +#define ITEMID_FIELD EE_FEATURE_FIELD + +#define _ZFORLIST_DECLARE_TABLE + +#define _PRINTFUN_CXX +#define _INPUTHDL_CXX + +// ab hier automatisch per makepch generiert +// folgende duerfen nicht aufgenommen werden: +// scslots.hxx + +#include <tools/solar.h> +#include <tools/string.hxx> +#include <svtools/solar.hrc> +#include <tools/rtti.hxx> +#include <string.h> +#include <tools/contnr.hxx> +#include <vcl/sv.h> +#include <tools/ref.hxx> +#include <tools/list.hxx> +#include <tools/link.hxx> +#include <tools/lang.hxx> +#include <sfx2/sfx.hrc> +#include <svtools/memberid.hrc> +#include <sfx2/sfxsids.hrc> +#include <svtools/cntwids.hrc> +#include <vcl/resid.hxx> +#include <tools/resid.hxx> +#include <vcl/rc.hxx> +#include <tools/rc.hxx> +#include <tools/resmgr.hxx> +#include <tools/gen.hxx> +#include <tools/fract.hxx> +#include <tools/date.hxx> +#include <tools/time.hxx> +#include <vcl/keycod.hxx> +#include <vcl/keycodes.hxx> +#include <tools/globname.hxx> +#include <vcl/color.hxx> +#include <vcl/region.hxx> +#include <vcl/mapmod.hxx> +#include <vcl/bitmap.hxx> +#include <sot/sotref.hxx> +#include <svx/svxids.hrc> +#include <vcl/fonttype.hxx> +#include <sot/object.hxx> +#include <sot/sotdata.hxx> +#include <sot/factory.hxx> +#include <tools/ownlist.hxx> +#include <vcl/font.hxx> +#include <vcl/wall.hxx> +#include <vcl/settings.hxx> +#include <tools/intn.hxx> +#include <vcl/accel.hxx> +#include <vcl/gdiobj.hxx> +#include <vcl/outdev.hxx> +#include <vcl/pointr.hxx> +#include <vcl/ptrstyle.hxx> +#include <vcl/wintypes.hxx> +#include <vcl/event.hxx> +#include <sot/dtrans.hxx> +#include <limits.h> +#include <tools/errinf.hxx> +#include <tools/errcode.hxx> +#include <tools/stream.hxx> +#include <vcl/color.hxx> +#include <vcl/window.hxx> +#include <global.hxx> +#include <vcl/syswin.hxx> +#include <tools/debug.hxx> +#include <svtools/svarray.hxx> +#include <vcl/ctrl.hxx> +#include <svtools/hint.hxx> +#include <svtools/poolitem.hxx> +#include <svtools/args.hxx> +#include <vcl/image.hxx> +#include <vcl/timer.hxx> +#include <tools/unqidx.hxx> +#include <vcl/symbol.hxx> +#include <vcl/fixed.hxx> +#include <svtools/brdcst.hxx> +#include <vcl/timer.hxx> +#include <sc.hrc> +#include <stdarg.h> +#include <svx/dialogs.hrc> +#include <svtools/sbxdef.hxx> +#include <svtools/lstner.hxx> +#include <sfx2/shell.hxx> +#include <vcl/window.hxx> +#include <vcl/group.hxx> +#include <tools/unqid.hxx> +#include <tools/table.hxx> +#include <svtools/itemset.hxx> +#include <vcl/dialog.hxx> +#include <vcl/button.hxx> +#include <rangelst.hxx> +#include <vcl/edit.hxx> +#include <vcl/combobox.h> +#include <tools/shl.hxx> +#include <vcl/field.hxx> +#include <vcl/spinfld.hxx> +#include <vcl/combobox.hxx> +#include <tools/pstm.hxx> +#include <svtools/eitem.hxx> +#include <svtools/itempool.hxx> +#include <so3/iface.hxx> +#include <so3/factory.hxx> +#include <so3/so2ref.hxx> +#include <so3/so2dll.hxx> +#include <sfx2/tabdlg.hxx> +#include <vcl/tabdlg.hxx> +#include <vcl/tabpage.hxx> +#include <vcl/tabctrl.hxx> +#include <shellids.hxx> +#include <vcl/event.hxx> +#include <so3/advise.hxx> +#include <so3/dtrans.hxx> +#include <so3/protocol.hxx> +#include <svtools/intitem.hxx> +#include <so3/ipclient.hxx> +#include <so3/client.hxx> +#include <sfx2/cfgitem.hxx> +#include <svtools/confitem.hxx> +#include <markdata.hxx> +#include <svx/optgrid.hxx> +#include <vcl/apptypes.hxx> +#include <viewopti.hxx> +#include <viewdata.hxx> +#include <vcl/resid.hxx> +#include <sfx2/viewsh.hxx> +#include <sfx2/clientsh.hxx> +#include <document.hxx> +#include <vcl/prntypes.hxx> +#include <table.hxx> +#include <column.hxx> +#include <markarr.hxx> +#include <vcl/mapmod.hxx> +#include <svtools/undo.hxx> +#include <vcl/seleng.hxx> +#include <rsc/rscsfx.hxx> +#include <svx/zoomitem.hxx> +#include <vcl/scrbar.hxx> +#include <viewutil.hxx> +#include <vcl/svapp.hxx> +#include <tools/datetime.hxx> +#include <tabview.hxx> +#include <select.hxx> +#include <sfx2/imgdef.hxx> +#include <viewfunc.hxx> +#include <sfx2/module.hxx> +#include <dbfunc.hxx> +#include <vcl/accel.hxx> +#include <svtools/smplhint.hxx> +#include <sfx2/viewfac.hxx> +#include <sot/storage.hxx> +#include <sfx2/objsh.hxx> +#include <so3/so2defs.hxx> +#include <so3/persist.hxx> +#include <target.hxx> +#include <tabvwsh.hxx> +#include <svtools/inethist.hxx> +#include <svtools/inetdef.hxx> +#include <sfx2/sfxdefs.hxx> +#include <svtools/cancel.hxx> +#include <svtools/compat.hxx> +#include <svtools/inetmsg.hxx> +#include <sfx2/app.hxx> +#include <tools/urlobj.hxx> +#include <scdll.hxx> +#include <sfx2/msg.hxx> +#include <svtools/ownlist.hxx> +#include <so3/persist.hxx> +#include <so3/pseudo.hxx> +#include <sfx2/objface.hxx> +#include <sfx2/viewfrm.hxx> +#include <sfx2/frame.hxx> +#include <so3/ipobj.hxx> +#include <so3/embobj.hxx> +#include <so3/ipobj.hxx> +#include <scresid.hxx> +#include <sfx2/ipfrm.hxx> +#include <so3/factory.hxx> +#include <docsh.hxx> +#include <sfx2/interno.hxx> +#include <vcl/wintypes.hxx> +#include <sfx2/docfac.hxx> +#include <scitems.hxx> +#include <vcl/virdev.hxx> +#include <globstr.hrc> +#include <segmentc.hxx> +#include <tcov.hxx> +#include <vcl/dialog.hxx> +#include <vcl/gdimtf.hxx> +#include <vcl/lstbox.h> +#include <sfx2/minarray.hxx> +#include <sfx2/bindings.hxx> +#include <vcl/lstbox.hxx> +#include <vcl/pointr.hxx> +#include <vcl/prntypes.hxx> +#include <vcl/jobset.hxx> +#include <svx/svdtypes.hxx> +#include <vcl/btndlg.hxx> +#include <vcl/svapp.hxx> +#include <svtools/svstdarr.hxx> +#include <vcl/edit.hxx> +#include <svtools/stritem.hxx> +#include <collect.hxx> +#include <svx/svdsob.hxx> +#include <vcl/imagebtn.hxx> +#include <svx/svdobj.hxx> +#include <svx/svdglue.hxx> +#include <svx/svdlayer.hxx> +#include <vcl/msgbox.hxx> +#include <svx/svdmrkv.hxx> +#include <svx/svdmark.hxx> +#include <svx/svdhdl.hxx> +#include <svx/svdsnpv.hxx> +#include <svx/svdpntv.hxx> +#include <svx/svddrag.hxx> +#include <svx/svdhlpln.hxx> +#include <scmod.hxx> +#include <sfx2/request.hxx> +#include <svtools/iniman.hxx> +#include <sfx2/inimgr.hxx> +#include <vcl/field.hxx> +#include <svx/svdview.hxx> +#include <svx/svdcrtv.hxx> +#include <vcl/print.hxx> +#include <vcl/floatwin.hxx> +#include <vcl/wrkwin.hxx> +#include <vcl/system.hxx> +#include <sfx2/childwin.hxx> +#include <sfx2/chalign.hxx> +#include <sfx2/dispatch.hxx> +#include <vcl/graph.hxx> +#include <vcl/bitmapex.hxx> +#include <vcl/animate.hxx> +#include <vcl/graph.h> +#include <svx/editdata.hxx> +#include <svtools/stdctrl.hxx> +#include <sfx2/basedlgs.hxx> +#include <conditio.hxx> +#include <vcl/combobox.hxx> +#include <vcl/print.hxx> +#include <uiitems.hxx> +#include <svx/svdmodel.hxx> +#include <vcl/gdiobj.hxx> +#include <svx/editeng.hxx> +#include <svx/pageitem.hxx> +#include <anyrefdg.hxx> +#include <svtools/sbxcore.hxx> +#include <vcl/ctrl.hxx> +#include <svx/xenum.hxx> +#include <dbcolect.hxx> +#include <sot/exchange.hxx> +#include <math.h> +#include <vcl/wrkwin.hxx> +#include <svtools/sbxvar.hxx> +#include <vcl/image.hxx> +#include <svx/xdef.hxx> +#include <drwlayer.hxx> +#include <editutil.hxx> +#include <svx/xit.hxx> +#include <svx/xcolit.hxx> +#include <attrib.hxx> +#include <patattr.hxx> +#include <svx/xfillit0.hxx> +#include <svx/xlineit0.hxx> +#include <svx/xflasit.hxx> +#include <svx/xlnasit.hxx> +#include <svx/svdattr.hxx> +#include <svx/sdangitm.hxx> +#include <svx/sderitm.hxx> +#include <svx/sdmetitm.hxx> +#include <svx/svddef.hxx> +#include <svx/sdmsitm.hxx> +#include <svx/sdolsitm.hxx> +#include <svx/sdooitm.hxx> +#include <svx/sdprcitm.hxx> +#include <svx/sdshcitm.hxx> +#include <svx/sdshitm.hxx> +#include <svx/sdshsitm.hxx> +#include <svx/sdshtitm.hxx> +#include <svx/sdsxyitm.hxx> +#include <svx/sdtaaitm.hxx> +#include <svx/sdtacitm.hxx> +#include <svx/sdtaditm.hxx> +#include <svx/sdtagitm.hxx> +#include <svx/sdtaiitm.hxx> +#include <svx/sdynitm.hxx> +#include <svx/sdtaitm.hxx> +#include <svx/sdtakitm.hxx> +#include <svx/sdtayitm.hxx> +#include <svx/sdtcfitm.hxx> +#include <svx/sdtditm.hxx> +#include <svx/sdtfsitm.hxx> +#include <svx/sdtmfitm.hxx> +#include <vcl/poly.hxx> +#include <vcl/gdimtf.hxx> +#include <cell.hxx> +#include <stddef.h> +#include <tools/mempool.hxx> +#include <svtools/style.hrc> +#include <drawview.hxx> +#include <svx/view3d.hxx> +#include <svx/def3d.hxx> +#include <goodies/vector3d.hxx> +#include <vcl/floatwin.hxx> +#include <svtools/sbxobj.hxx> +#include <svx/svxenum.hxx> +#include <svx/xtextit0.hxx> +#include <svx/svdtrans.hxx> +#include <svx/xtxasit.hxx> +#include <svtools/style.hxx> +#include <reffact.hxx> +#include <svx/svdotext.hxx> +#include <svx/svdoattr.hxx> +#include <tools/wldcrd.hxx> +#include <rangenam.hxx> +#include <undobase.hxx> +#include <vcl/dockwin.hxx> +#include <vcl/virdev.hxx> +#include <so3/so2defs.hxx> +#include <so3/svstor.hxx> +#include <rangeutl.hxx> +#include <vcl/toolbox.hxx> +#include <fupoor.hxx> +#include <docpool.hxx> +#include <vcl/button.hxx> +#include <svx/srchitem.hxx> +#include <svx/svdorect.hxx> +#include <svtools/whiter.hxx> +#include <stlpool.hxx> +#include <svx/eeitem.hxx> +#include <inputhdl.hxx> +#include <svx/svdpage.hxx> + + + + diff --git a/sc/source/ui/inc/uiitems.hxx b/sc/source/ui/inc/uiitems.hxx new file mode 100644 index 000000000000..89d3cb1df1ca --- /dev/null +++ b/sc/source/ui/inc/uiitems.hxx @@ -0,0 +1,408 @@ +/************************************************************************* + * + * $RCSfile: uiitems.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UIITEMS_HXX +#define SC_UIITEMS_HXX + +#ifndef SC_CONDITIO_HXX +#include "conditio.hxx" +#endif + +#ifndef _SFXPOOLITEM_HXX //autogen +#include <svtools/poolitem.hxx> +#endif + +class ScEditEngineDefaulter; +class EditTextObject; +class ScViewData; +class ScDPSaveData; + +// --------------------------------------------------------------------------- + +// Items + +class ScInputStatusItem : public SfxPoolItem +{ + ScAddress aCursorPos; + ScAddress aStartPos; + ScAddress aEndPos; + String aString; + EditTextObject* pEditData; + +public: + TYPEINFO(); + ScInputStatusItem( USHORT nWhich, + USHORT nTab, + USHORT nCol, USHORT nRow, + USHORT nStartCol, USHORT nStartRow, + USHORT nEndCol, USHORT nSEndRow, + const String& rString, + const EditTextObject* pData ); + ScInputStatusItem( USHORT nWhich, + const ScAddress& rCurPos, + const ScAddress& rStartPos, + const ScAddress& rEndPos, + const String& rString, + const EditTextObject* pData ); + ScInputStatusItem( const ScInputStatusItem& rItem ); + ~ScInputStatusItem(); + + virtual String GetValueText() const; + + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + const ScAddress& GetPos() const { return aCursorPos; } + const ScAddress& GetStartPos() const { return aStartPos; } + const ScAddress& GetEndPos() const { return aEndPos; } + USHORT GetTab() const { return aCursorPos.Tab(); } + USHORT GetCol() const { return aCursorPos.Col(); } + USHORT GetRow() const { return aCursorPos.Row(); } + USHORT GetStartCol() const { return aStartPos.Col(); } + USHORT GetStartRow() const { return aStartPos.Row(); } + USHORT GetEndCol() const { return aEndPos.Col(); } + USHORT GetEndRow() const { return aEndPos.Row(); } + + const String& GetString() const { return aString; } + const EditTextObject* GetEditData() const { return pEditData; } +}; + + +#define SC_TAB_INSERTED 1 +#define SC_TAB_DELETED 2 +#define SC_TAB_MOVED 3 +#define SC_TAB_COPIED 4 +#define SC_TAB_HIDDEN 5 + +class ScTablesHint : public SfxHint +{ + USHORT nId; + USHORT nTab1; + USHORT nTab2; + +public: + TYPEINFO(); + ScTablesHint(USHORT nNewId, USHORT nTable1, USHORT nTable2=0); + ~ScTablesHint(); + + USHORT GetId() const { return nId; } + USHORT GetTab1() const { return nTab1; } + USHORT GetTab2() const { return nTab2; } +}; + +class ScEditViewHint : public SfxHint +{ + ScEditEngineDefaulter* pEditEngine; + ScAddress aCursorPos; + +public: + TYPEINFO(); + ScEditViewHint(); + ScEditViewHint( ScEditEngineDefaulter* pEngine, const ScAddress& rCurPos ); + ~ScEditViewHint(); + + USHORT GetCol() const { return aCursorPos.Col(); } + USHORT GetRow() const { return aCursorPos.Row(); } + USHORT GetTab() const { return aCursorPos.Tab(); } + ScEditEngineDefaulter* GetEngine() const { return pEditEngine; } +}; + +class ScIndexHint : public SfxHint +{ + USHORT nId; + USHORT nIndex; + +public: + TYPEINFO(); + ScIndexHint(USHORT nNewId, USHORT nIdx); + ~ScIndexHint(); + + USHORT GetId() const { return nId; } + USHORT GetIndex() const { return nIndex; } +}; + +//---------------------------------------------------------------------------- +// Parameter-Item fuer den Sortierdialog: + +class ScSortItem : public SfxPoolItem +{ +public: + TYPEINFO(); + ScSortItem( USHORT nWhich, + ScViewData* ptrViewData, + const ScSortParam* pSortData ); + ScSortItem( USHORT nWhich, + const ScSortParam* pSortData ); + ScSortItem( const ScSortItem& rItem ); + ~ScSortItem(); + + virtual String GetValueText() const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + ScViewData* GetViewData () const { return pViewData; } + const ScSortParam& GetSortData () const { return theSortData; } + +private: + ScViewData* pViewData; + ScSortParam theSortData; +}; + +//---------------------------------------------------------------------------- +// Parameter-Item fuer den Filterdialog: + +class ScQueryItem : public SfxPoolItem +{ +public: + TYPEINFO(); + ScQueryItem( USHORT nWhich, + ScViewData* ptrViewData, + const ScQueryParam* pQueryData ); + ScQueryItem( USHORT nWhich, + const ScQueryParam* pQueryData ); + ScQueryItem( const ScQueryItem& rItem ); + ~ScQueryItem(); + + virtual String GetValueText() const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + ScViewData* GetViewData () const { return pViewData; } + const ScQueryParam& GetQueryData() const { return theQueryData; } + + BOOL GetAdvancedQuerySource(ScRange& rSource) const; + void SetAdvancedQuerySource(const ScRange* pSource); + +private: + ScViewData* pViewData; + ScQueryParam theQueryData; + BOOL bIsAdvanced; + ScRange aAdvSource; +}; + +//---------------------------------------------------------------------------- +// Parameter-Item fuer den Zwischenergebnisdialog: + +class ScSubTotalItem : public SfxPoolItem +{ +public: + TYPEINFO(); + ScSubTotalItem( USHORT nWhich, + ScViewData* ptrViewData, + const ScSubTotalParam* pSubTotalData ); + ScSubTotalItem( USHORT nWhich, + const ScSubTotalParam* pSubTotalData ); + ScSubTotalItem( const ScSubTotalItem& rItem ); + ~ScSubTotalItem(); + + virtual String GetValueText() const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + ScViewData* GetViewData () const { return pViewData; } + const ScSubTotalParam& GetSubTotalData() const { return theSubTotalData; } + +private: + ScViewData* pViewData; + ScSubTotalParam theSubTotalData; +}; + +//---------------------------------------------------------------------------- +// Parameter-Item fuer die Benutzerlisten-TabPage: + +class ScUserListItem : public SfxPoolItem +{ +public: + TYPEINFO(); + ScUserListItem( USHORT nWhich ); + ScUserListItem( const ScUserListItem& rItem ); + ~ScUserListItem(); + + virtual String GetValueText() const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + void SetUserList ( const ScUserList& rUserList ); + ScUserList* GetUserList () const { return pUserList; } + +private: + ScUserList* pUserList; +}; + +//---------------------------------------------------------------------------- +// Parameter-Item fuer die Konsolidieren-Dialog + +class ScConsolidateItem : public SfxPoolItem +{ +public: + TYPEINFO(); + ScConsolidateItem( USHORT nWhich, + const ScConsolidateParam* pParam ); + ScConsolidateItem( const ScConsolidateItem& rItem ); + ~ScConsolidateItem(); + + virtual String GetValueText() const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + const ScConsolidateParam& GetData() const { return theConsData; } + +private: + ScConsolidateParam theConsData; +}; + +//---------------------------------------------------------------------------- +// Parameter-Item fuer den Pivot-Dialog + +class ScPivotItem : public SfxPoolItem +{ +public: + TYPEINFO(); + ScPivotItem( USHORT nWhich, const ScDPSaveData* pData, + const ScRange* pRange, BOOL bNew ); + ScPivotItem( const ScPivotItem& rItem ); + ~ScPivotItem(); + + virtual String GetValueText() const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + const ScDPSaveData& GetData() const { return *pSaveData; } + const ScRange& GetDestRange() const { return aDestRange; } + BOOL IsNewSheet() const { return bNewSheet; } + +private: + ScDPSaveData* pSaveData; + ScRange aDestRange; + BOOL bNewSheet; +}; + +//---------------------------------------------------------------------------- +// Parameter-Item fuer den Solver-Dialog + +class ScSolveItem : public SfxPoolItem +{ +public: + TYPEINFO(); + ScSolveItem( USHORT nWhich, + const ScSolveParam* pParam ); + ScSolveItem( const ScSolveItem& rItem ); + ~ScSolveItem(); + + virtual String GetValueText() const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + const ScSolveParam& GetData() const { return theSolveData; } + +private: + ScSolveParam theSolveData; +}; + +//---------------------------------------------------------------------------- +// Parameter-Item fuer den Mehrfachoperationen-Dialog + +class ScTabOpItem : public SfxPoolItem +{ +public: + TYPEINFO(); + ScTabOpItem( USHORT nWhich, + const ScTabOpParam* pParam ); + ScTabOpItem( const ScTabOpItem& rItem ); + ~ScTabOpItem(); + + virtual String GetValueText() const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + const ScTabOpParam& GetData() const { return theTabOpData; } + +private: + ScTabOpParam theTabOpData; +}; + +//---------------------------------------------------------------------------- +// Parameter-Item fuer den Dialog bedingte Formatierung + +class ScCondFrmtItem : public SfxPoolItem +{ +public: + TYPEINFO(); + ScCondFrmtItem( USHORT nWhich, +//! const ScConditionalFormat* pCondFrmt ); + const ScConditionalFormat& rCondFrmt ); + ScCondFrmtItem( const ScCondFrmtItem& rItem ); + ~ScCondFrmtItem(); + + virtual String GetValueText() const; + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + + const ScConditionalFormat& GetData() const { return theCondFrmtData; } + +private: + ScConditionalFormat theCondFrmtData; +}; + + + +#endif + diff --git a/sc/source/ui/inc/undobase.hxx b/sc/source/ui/inc/undobase.hxx new file mode 100644 index 000000000000..51230aab91dc --- /dev/null +++ b/sc/source/ui/inc/undobase.hxx @@ -0,0 +1,159 @@ +/************************************************************************* + * + * $RCSfile: undobase.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UNDOBASE_HXX +#define SC_UNDOBASE_HXX + +#ifndef _UNDO_HXX //autogen +#include <svtools/undo.hxx> +#endif + +#ifndef SC_SCGLOB_HXX +#include "global.hxx" +#endif + +class ScDocument; +class ScDocShell; +class SdrUndoAction; +class ScRefUndoData; + +//---------------------------------------------------------------------------- + +class ScSimpleUndo: public SfxUndoAction +{ +public: + TYPEINFO(); + ScSimpleUndo( ScDocShell* pDocSh ); + virtual ~ScSimpleUndo(); + + virtual BOOL Merge( SfxUndoAction *pNextAction ); + +protected: + ScDocShell* pDocShell; + SfxUndoAction* pDetectiveUndo; + + void BeginUndo(); + void EndUndo(); + void BeginRedo(); + void EndRedo(); + + static void ShowTable( USHORT nTab ); + static void ShowTable( const ScRange& rRange ); +}; + +//---------------------------------------------------------------------------- + +enum ScBlockUndoMode { SC_UNDO_SIMPLE, SC_UNDO_MANUALHEIGHT, SC_UNDO_AUTOHEIGHT }; + +class ScBlockUndo: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScBlockUndo( ScDocShell* pDocSh, const ScRange& rRange, + ScBlockUndoMode eBlockMode ); + virtual ~ScBlockUndo(); + +protected: + ScRange aBlockRange; + SdrUndoAction* pDrawUndo; + ScBlockUndoMode eMode; + + void BeginUndo(); + void EndUndo(); +// void BeginRedo(); + void EndRedo(); + + BOOL AdjustHeight(); + void ShowBlock(); +}; + +//---------------------------------------------------------------------------- + +enum ScMoveUndoMode { SC_UNDO_REFFIRST, SC_UNDO_REFLAST }; + +class ScMoveUndo: public ScSimpleUndo // mit Referenzen +{ +public: + TYPEINFO(); + ScMoveUndo( ScDocShell* pDocSh, + ScDocument* pRefDoc, ScRefUndoData* pRefData, + ScMoveUndoMode eRefMode ); + virtual ~ScMoveUndo(); + +protected: + SdrUndoAction* pDrawUndo; + ScDocument* pRefUndoDoc; + ScRefUndoData* pRefUndoData; + ScMoveUndoMode eMode; + + void BeginUndo(); + void EndUndo(); +// void BeginRedo(); +// void EndRedo(); + +private: + void UndoRef(); +}; + + + +#endif + diff --git a/sc/source/ui/inc/undoblk.hxx b/sc/source/ui/inc/undoblk.hxx new file mode 100644 index 000000000000..9738a45944dc --- /dev/null +++ b/sc/source/ui/inc/undoblk.hxx @@ -0,0 +1,933 @@ +/************************************************************************* + * + * $RCSfile: undoblk.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UNDOBLK_HXX +#define SC_UNDOBLK_HXX + +#ifndef SC_UNDOBASE_HXX +#include "undobase.hxx" +#endif +#ifndef SC_MARKDATA_HXX +#include "markdata.hxx" +#endif + +class ScDocShell; +class ScDocument; +class ScOutlineTable; +class ScRangeName; +class ScRangeList; +class ScDBCollection; +class ScPatternAttr; +class SvxBoxItem; +class SvxBoxInfoItem; +class SvxSearchItem; +class SdrUndoAction; + +//---------------------------------------------------------------------------- + +class ScUndoInsertCells: public ScMoveUndo +{ +public: + TYPEINFO(); + ScUndoInsertCells( ScDocShell* pNewDocShell, + const ScRange& rRange, InsCellCmd eNewCmd, + ScDocument* pUndoDocument, ScRefUndoData* pRefData ); + virtual ~ScUndoInsertCells(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat( SfxRepeatTarget& rTarget ); + virtual BOOL CanRepeat( SfxRepeatTarget& rTarget ) const; + + virtual String GetComment() const; + +private: + ScRange aEffRange; + ULONG nEndChangeAction; + InsCellCmd eCmd; + + void DoChange ( const BOOL bUndo ); + void SetChangeTrack(); +}; + + +class ScUndoDeleteCells: public ScMoveUndo +{ +public: + TYPEINFO(); + ScUndoDeleteCells( ScDocShell* pNewDocShell, + const ScRange& rRange, DelCellCmd eNewCmd, + ScDocument* pUndoDocument, ScRefUndoData* pRefData ); + virtual ~ScUndoDeleteCells(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScRange aEffRange; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + DelCellCmd eCmd; + + void DoChange ( const BOOL bUndo ); + void SetChangeTrack(); +}; + + +class ScUndoDeleteMulti: public ScMoveUndo +{ +public: + TYPEINFO(); + ScUndoDeleteMulti( ScDocShell* pNewDocShell, + BOOL bNewRows, USHORT nNewTab, + const USHORT* pRng, USHORT nRngCnt, + ScDocument* pUndoDocument, ScRefUndoData* pRefData ); + virtual ~ScUndoDeleteMulti(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + BOOL bRows; + USHORT nTab; + USHORT* pRanges; + USHORT nRangeCnt; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + + void DoChange() const; + void SetChangeTrack(); +}; + + +class ScUndoCut: public ScBlockUndo +{ +public: + TYPEINFO(); + ScUndoCut( ScDocShell* pNewDocShell, + ScRange aRange, // incl. Merge + ScAddress aOldEnd, // Ende ohne Merge + ScDocument* pNewUndoDoc ); + virtual ~ScUndoCut(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDocument* pUndoDoc; + ScRange aExtendedRange; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + + void DoChange( const BOOL bUndo ); + void SetChangeTrack(); +}; + + +class ScUndoPaste: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoPaste( ScDocShell* pNewDocShell, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ, + const ScMarkData& rMark, + ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, + USHORT nNewFlags, + ScRangeName* pNewUndoRange, ScRangeName* pNewRedoRange, + ScDBCollection* pNewUndoDB, ScDBCollection* pNewRedoDB, + BOOL bRedoIsFilled = TRUE ); + virtual ~ScUndoPaste(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScRange aRange; + ScMarkData aMarkData; + ScDocument* pUndoDoc; + ScDocument* pRedoDoc; + USHORT nFlags; + ScRangeName* pUndoRange; + ScRangeName* pRedoRange; + ScDBCollection* pUndoDB; + ScDBCollection* pRedoDB; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + BOOL bRedoFilled; + + void DoChange( const BOOL bUndo ); + void SetChangeTrack(); +}; + + +class ScUndoDragDrop: public ScMoveUndo +{ +public: + TYPEINFO(); + ScUndoDragDrop( ScDocShell* pNewDocShell, + const ScRange& rRange, ScAddress aNewDestPos, BOOL bNewCut, + ScDocument* pUndoDocument, ScRefUndoData* pRefData, + BOOL bScenario ); + virtual ~ScUndoDragDrop(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScRange aSrcRange; + ScRange aDestRange; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + BOOL bCut; + BOOL bKeepScenarioFlags; + + void PaintArea( ScRange aRange ) const; + void DoUndo( ScRange aRange ) const; + + void SetChangeTrack(); +}; + + +class ScUndoDeleteContents: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoDeleteContents( ScDocShell* pNewDocShell, + const ScMarkData& rMark, + const ScRange& rRange, + ScDocument* pNewUndoDoc, BOOL bNewMulti, + USHORT nNewFlags, BOOL bObjects ); + virtual ~ScUndoDeleteContents(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScRange aRange; + ScMarkData aMarkData; + ScDocument* pUndoDoc; // Blockmarkierung und geloeschte Daten + SdrUndoAction* pDrawUndo; // geloeschte Objekte + ULONG nStartChangeAction; + ULONG nEndChangeAction; + USHORT nFlags; + BOOL bMulti; // Mehrfachselektion + + void DoChange( const BOOL bUndo ); + void SetChangeTrack(); +}; + + +class ScUndoFillTable: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoFillTable( ScDocShell* pNewDocShell, + const ScMarkData& rMark, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ, + ScDocument* pNewUndoDoc, BOOL bNewMulti, USHORT nSrc, + USHORT nFlg, USHORT nFunc, BOOL bSkip, BOOL bLink ); + virtual ~ScUndoFillTable(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScRange aRange; + ScMarkData aMarkData; + ScDocument* pUndoDoc; // Blockmarkierung und geloeschte Daten + ULONG nStartChangeAction; + ULONG nEndChangeAction; + USHORT nFlags; + USHORT nFunction; + USHORT nSrcTab; + BOOL bMulti; // Mehrfachselektion + BOOL bSkipEmpty; + BOOL bAsLink; + + void DoChange( const BOOL bUndo ); + void SetChangeTrack(); +}; + + +class ScUndoSelectionAttr: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoSelectionAttr( ScDocShell* pNewDocShell, + const ScMarkData& rMark, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ, + ScDocument* pNewUndoDoc, BOOL bNewMulti, + const ScPatternAttr* pNewApply, + const SvxBoxItem* pNewOuter = NULL, + const SvxBoxInfoItem* pNewInner = NULL ); + virtual ~ScUndoSelectionAttr(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScMarkData aMarkData; + ScRange aRange; + ScDocument* pUndoDoc; + BOOL bMulti; + ScPatternAttr* pApplyPattern; + SvxBoxItem* pLineOuter; + SvxBoxInfoItem* pLineInner; + + void DoChange( const BOOL bUndo ); +}; + + +class ScUndoWidthOrHeight: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoWidthOrHeight( ScDocShell* pNewDocShell, + const ScMarkData& rMark, + USHORT nNewStart, USHORT nNewStartTab, + USHORT nNewEnd, USHORT nNewEndTab, + ScDocument* pNewUndoDoc, + USHORT nNewCnt, USHORT* pNewRanges, + ScOutlineTable* pNewUndoTab, + ScSizeMode eNewMode, USHORT nNewSizeTwips, + BOOL bNewWidth ); + virtual ~ScUndoWidthOrHeight(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScMarkData aMarkData; + USHORT nStart; + USHORT nEnd; + USHORT nStartTab; + USHORT nEndTab; + ScDocument* pUndoDoc; + ScOutlineTable* pUndoTab; + USHORT nRangeCnt; + USHORT* pRanges; + USHORT nNewSize; + BOOL bWidth; + ScSizeMode eMode; + SdrUndoAction* pDrawUndo; +}; + + +class ScUndoAutoFill: public ScBlockUndo +{ +public: + TYPEINFO(); + ScUndoAutoFill( ScDocShell* pNewDocShell, + const ScRange& rRange, const ScRange& rSourceArea, + ScDocument* pNewUndoDoc, const ScMarkData& rMark, + FillDir eNewFillDir, + FillCmd eNewFillCmd, FillDateCmd eNewFillDateCmd, + double fNewStartValue, double fNewStepValue, double fNewMaxValue, + USHORT nMaxShIndex ); + virtual ~ScUndoAutoFill(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScRange aSource; + ScMarkData aMarkData; + ScDocument* pUndoDoc; + FillDir eFillDir; + FillCmd eFillCmd; + FillDateCmd eFillDateCmd; + double fStartValue; + double fStepValue; + double fMaxValue; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + USHORT nMaxSharedIndex; + + void SetChangeTrack(); +}; + + +class ScUndoMerge: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoMerge( ScDocShell* pNewDocShell, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ, + BOOL bNewDoMerge, ScDocument* pNewUndoDoc = NULL ); + virtual ~ScUndoMerge(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScRange aRange; + BOOL bDoMerge; // Merge oder aufheben + ScDocument* pUndoDoc; // wenn Daten zusammengefasst + + void DoChange( const BOOL bUndo ) const; +}; + + +class ScUndoAutoFormat: public ScBlockUndo +{ +public: + TYPEINFO(); + ScUndoAutoFormat( ScDocShell* pNewDocShell, + const ScRange& rRange, ScDocument* pNewUndoDoc, + const ScMarkData& rMark, + BOOL bNewSize, USHORT nNewFormatNo ); + virtual ~ScUndoAutoFormat(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDocument* pUndoDoc; // geloeschte Daten + ScMarkData aMarkData; + BOOL bSize; + USHORT nFormatNo; +}; + + +class ScUndoReplace: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoReplace( ScDocShell* pNewDocShell, + const ScMarkData& rMark, + USHORT nCurX, USHORT nCurY, USHORT nCurZ, + const String& rNewUndoStr, ScDocument* pNewUndoDoc, + const SvxSearchItem* pItem ); + virtual ~ScUndoReplace(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScTripel aCursorPos; + ScMarkData aMarkData; + String aUndoStr; // Daten bei Einfachmarkierung + ScDocument* pUndoDoc; // Blockmarkierung und geloeschte Daten + SvxSearchItem* pSearchItem; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + + void SetChangeTrack(); +}; + + +class ScUndoTabOp: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoTabOp( ScDocShell* pNewDocShell, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ, + ScDocument* pNewUndoDoc, + const ScRefTripel& rFormulaCell, + const ScRefTripel& rFormulaEnd, + const ScRefTripel& rRowCell, + const ScRefTripel& rColCell, + BYTE nMode ); + virtual ~ScUndoTabOp(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScRange aRange; + ScDocument* pUndoDoc; // geloeschte Daten + ScRefTripel theFormulaCell; + ScRefTripel theFormulaEnd; + ScRefTripel theRowCell; + ScRefTripel theColCell; + BYTE nMode; +}; + + +class ScUndoSpelling: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoSpelling( ScDocShell* pNewDocShell, + const ScMarkData& rMark, + USHORT nCurX, USHORT nCurY, USHORT nCurZ, + ScDocument* pNewUndoDoc, + USHORT nNewX, USHORT nNewY, USHORT nNewZ, + ScDocument* pNewRedoDoc); + virtual ~ScUndoSpelling(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScMarkData aMarkData; + ScTripel aCursorPos; + ScDocument* pUndoDoc; // Blockmarkierung und geloeschte Daten + ScTripel aNewCursorPos; + ScDocument* pRedoDoc; // Blockmarkierung und neue Daten + ULONG nStartChangeAction; + ULONG nEndChangeAction; + + void DoChange( ScDocument* pRefDoc, const ScTripel& rCursorPos ); + void SetChangeTrack(); +}; + + +class ScUndoListNames: public ScBlockUndo +{ +public: + TYPEINFO(); + ScUndoListNames( ScDocShell* pNewDocShell, + const ScRange& rRange, + ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc ); + virtual ~ScUndoListNames(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDocument* pUndoDoc; + ScDocument* pRedoDoc; + + void DoChange( ScDocument* pSrcDoc ) const; +}; + + +class ScUndoUseScenario: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoUseScenario( ScDocShell* pNewDocShell, + const ScMarkData& rMark, + const ScArea& rDestArea, ScDocument* pNewUndoDoc, + const String& rNewName ); + virtual ~ScUndoUseScenario(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDocument* pUndoDoc; + ScRange aRange; + ScMarkData aMarkData; + String aName; +}; + + +class ScUndoSelectionStyle: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoSelectionStyle( ScDocShell* pNewDocShell, + const ScMarkData& rMark, + const ScRange& rRange, + const String& rName, + ScDocument* pNewUndoDoc ); + virtual ~ScUndoSelectionStyle(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + virtual USHORT GetId() const; + +private: + ScMarkData aMarkData; + ScDocument* pUndoDoc; + String aStyleName; + ScRange aRange; + + void DoChange( const BOOL bUndo ); +}; + + +class ScUndoRefreshLink: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoRefreshLink( ScDocShell* pNewDocShell, + ScDocument* pNewUndoDoc ); + virtual ~ScUndoRefreshLink(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDocument* pUndoDoc; + ScDocument* pRedoDoc; +}; + + +class ScUndoEnterMatrix: public ScBlockUndo +{ +public: + TYPEINFO(); + ScUndoEnterMatrix( ScDocShell* pNewDocShell, + const ScRange& rArea, + ScDocument* pNewUndoDoc, + const String& rForm ); + virtual ~ScUndoEnterMatrix(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDocument* pUndoDoc; + String aFormula; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + + void SetChangeTrack(); +}; + + +class ScUndoInsertAreaLink : public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoInsertAreaLink( ScDocShell* pShell, + const String& rDoc, + const String& rFlt, const String& rOpt, + const String& rArea, const ScRange& rDestRange ); + virtual ~ScUndoInsertAreaLink(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + String aDocName; + String aFltName; + String aOptions; + String aAreaName; + ScRange aRange; +}; + + +class ScUndoRemoveAreaLink : public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoRemoveAreaLink( ScDocShell* pShell, + const String& rDoc, + const String& rFlt, const String& rOpt, + const String& rArea, const ScRange& rDestRange ); + virtual ~ScUndoRemoveAreaLink(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + String aDocName; + String aFltName; + String aOptions; + String aAreaName; + ScRange aRange; +}; + + +class ScUndoUpdateAreaLink : public ScSimpleUndo //! auch BlockUndo umstellen? +{ +public: + TYPEINFO(); + ScUndoUpdateAreaLink( ScDocShell* pShell, + const String& rOldD, + const String& rOldF, const String& rOldO, + const String& rOldA, const ScRange& rOldR, + const String& rNewD, + const String& rNewF, const String& rNewO, + const String& rNewA, const ScRange& rNewR, + ScDocument* pUndo, ScDocument* pRedo, + BOOL bDoInsert ); + virtual ~ScUndoUpdateAreaLink(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + String aOldDoc; + String aOldFlt; + String aOldOpt; + String aOldArea; + ScRange aOldRange; + String aNewDoc; + String aNewFlt; + String aNewOpt; + String aNewArea; + ScRange aNewRange; + ScDocument* pUndoDoc; + ScDocument* pRedoDoc; + BOOL bWithInsert; + + void DoChange( const BOOL bUndo ) const; +}; + + +class ScUndoIndent: public ScBlockUndo +{ +public: + TYPEINFO(); + ScUndoIndent( ScDocShell* pNewDocShell, const ScMarkData& rMark, + ScDocument* pNewUndoDoc, BOOL bIncrement ); + virtual ~ScUndoIndent(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScMarkData aMarkData; + ScDocument* pUndoDoc; + BOOL bIsIncrement; +}; + + +class ScUndoClearItems: public ScBlockUndo +{ +public: + TYPEINFO(); + ScUndoClearItems( ScDocShell* pNewDocShell, const ScMarkData& rMark, + ScDocument* pNewUndoDoc, const USHORT* pW ); + virtual ~ScUndoClearItems(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScMarkData aMarkData; + ScDocument* pUndoDoc; + USHORT* pWhich; +}; + + +class ScUndoRemoveBreaks: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoRemoveBreaks( ScDocShell* pNewDocShell, + USHORT nNewTab, ScDocument* pNewUndoDoc ); + virtual ~ScUndoRemoveBreaks(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + ScDocument* pUndoDoc; +}; + + +class ScUndoRemoveMerge: public ScBlockUndo +{ +public: + TYPEINFO(); + ScUndoRemoveMerge( ScDocShell* pNewDocShell, + const ScRange& rArea, + ScDocument* pNewUndoDoc ); + virtual ~ScUndoRemoveMerge(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDocument* pUndoDoc; +}; + + +class ScUndoBorder: public ScBlockUndo +{ +public: + TYPEINFO(); + ScUndoBorder( ScDocShell* pNewDocShell, + const ScRangeList& rRangeList, + ScDocument* pNewUndoDoc, + const SvxBoxItem& rNewOuter, + const SvxBoxInfoItem& rNewInner ); + virtual ~ScUndoBorder(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDocument* pUndoDoc; + ScRangeList* pRanges; + SvxBoxItem* pOuter; + SvxBoxInfoItem* pInner; +}; + + + + +#endif + diff --git a/sc/source/ui/inc/undocell.hxx b/sc/source/ui/inc/undocell.hxx new file mode 100644 index 000000000000..4b1ba3d524b0 --- /dev/null +++ b/sc/source/ui/inc/undocell.hxx @@ -0,0 +1,381 @@ +/************************************************************************* + * + * $RCSfile: undocell.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UNDOCELL_HXX +#define SC_UNDOCELL_HXX + +#ifndef SC_UNDOBASE_HXX +#include "undobase.hxx" +#endif + +class ScDocShell; +class ScBaseCell; +class ScPatternAttr; +class EditTextObject; +class SdrUndoAction; +class ScDetOpList; +class ScDetOpData; +class ScRangeName; + +//---------------------------------------------------------------------------- + +class ScUndoCursorAttr: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoCursorAttr( ScDocShell* pNewDocShell, + USHORT nNewCol, USHORT nNewRow, USHORT nNewTab, + const ScPatternAttr* pOldPat, const ScPatternAttr* pNewPat, + const ScPatternAttr* pApplyPat, BOOL bAutomatic ); + virtual ~ScUndoCursorAttr(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nCol; + USHORT nRow; + USHORT nTab; + ScPatternAttr* pOldPattern; + ScPatternAttr* pNewPattern; + ScPatternAttr* pApplyPattern; + BOOL bIsAutomatic; + + void DoChange( const ScPatternAttr* pWhichPattern ) const; +}; + + +class ScUndoEnterData: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoEnterData( ScDocShell* pNewDocShell, + USHORT nNewCol, USHORT nNewRow, USHORT nNewTab, + USHORT nNewCount, USHORT* pNewTabs, + ScBaseCell** ppOldData, BOOL* pHasForm, ULONG* pOldForm, + const String& rNewStr, EditTextObject* pObj = NULL ); + virtual ~ScUndoEnterData(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + String aNewString; + USHORT* pTabs; + ScBaseCell** ppOldCells; + BOOL* pHasFormat; + ULONG* pOldFormats; + EditTextObject* pNewEditData; + ULONG nEndChangeAction; + USHORT nCol; + USHORT nRow; + USHORT nTab; + USHORT nCount; // markierte Tabellen + + void DoChange() const; + void SetChangeTrack(); +}; + + +class ScUndoEnterValue: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoEnterValue( ScDocShell* pNewDocShell, + const ScAddress& rNewPos, + ScBaseCell* pUndoCell, double nVal, BOOL bHeight ); + virtual ~ScUndoEnterValue(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScAddress aPos; + ScBaseCell* pOldCell; + double nValue; + ULONG nEndChangeAction; + BOOL bNeedHeight; + + void SetChangeTrack(); +}; + + +class ScUndoPutCell: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoPutCell( ScDocShell* pNewDocShell, + const ScAddress& rNewPos, + ScBaseCell* pUndoCell, ScBaseCell* pRedoCell, BOOL bHeight ); + virtual ~ScUndoPutCell(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScAddress aPos; + ScBaseCell* pOldCell; + ScBaseCell* pEnteredCell; + ULONG nEndChangeAction; + BOOL bNeedHeight; + + void SetChangeTrack(); +}; + + +class ScUndoPageBreak: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoPageBreak( ScDocShell* pNewDocShell, + USHORT nNewCol, USHORT nNewRow, USHORT nNewTab, + BOOL bNewColumn, BOOL bNewInsert ); + virtual ~ScUndoPageBreak(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nCol; + USHORT nRow; + USHORT nTab; + BOOL bColumn; // Spalten- oder Zeilenumbruch + BOOL bInsert; // Einfuegen oder Loeschen + + void DoChange( BOOL bInsert ) const; +}; + +class ScUndoPrintZoom: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoPrintZoom( ScDocShell* pNewDocShell, USHORT nT, + USHORT nOS, USHORT nOP, USHORT nNS, USHORT nNP ); + virtual ~ScUndoPrintZoom(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + USHORT nOldScale; + USHORT nOldPages; + USHORT nNewScale; + USHORT nNewPages; + + void DoChange( BOOL bUndo ); +}; + +class ScUndoThesaurus: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoThesaurus( ScDocShell* pNewDocShell, + USHORT nNewCol, USHORT nNewRow, USHORT nNewTab, + const String& rNewUndoStr, const EditTextObject* pUndoTObj, + const String& rNewRedoStr, const EditTextObject* pRedoTObj); + virtual ~ScUndoThesaurus(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nCol; + USHORT nRow; + USHORT nTab; + String aUndoStr; // Daten bei StringZelle + EditTextObject* pUndoTObject; // bei EditZelle + String aRedoStr; + EditTextObject* pRedoTObject; + ULONG nEndChangeAction; + + void DoChange( BOOL bUndo, const String& rStr, + const EditTextObject* pTObj ); + void SetChangeTrack( ScBaseCell* pOldCell ); +}; + + +class ScUndoNote: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoNote( ScDocShell* pNewDocShell, + BOOL bShow, const ScAddress& rNewPos, + SdrUndoAction* pDraw ); + virtual ~ScUndoNote(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + BOOL bIsShow; + ScAddress aPos; + SdrUndoAction* pDrawUndo; +}; + + +class ScUndoEditNote: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoEditNote( ScDocShell* pNewDocShell, + const ScAddress& rNewPos, + const ScPostIt& rOld, + const ScPostIt& rNew ); + virtual ~ScUndoEditNote(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScAddress aPos; + ScPostIt aOldNote; + ScPostIt aNewNote; +}; + + +class ScUndoDetective: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoDetective( ScDocShell* pNewDocShell, + SdrUndoAction* pDraw, const ScDetOpData* pOperation, + ScDetOpList* pUndoList = NULL ); + virtual ~ScUndoDetective(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + BOOL bIsDelete; + ScDetOpList* pOldList; + USHORT nAction; + ScAddress aPos; + SdrUndoAction* pDrawUndo; +}; + + +class ScUndoRangeNames: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoRangeNames( ScDocShell* pNewDocShell, + ScRangeName* pOld, ScRangeName* pNew ); + virtual ~ScUndoRangeNames(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScRangeName* pOldRanges; + ScRangeName* pNewRanges; + + void DoChange( BOOL bUndo ); +}; + + + +#endif + diff --git a/sc/source/ui/inc/undodat.hxx b/sc/source/ui/inc/undodat.hxx new file mode 100644 index 000000000000..3e794f8da85b --- /dev/null +++ b/sc/source/ui/inc/undodat.hxx @@ -0,0 +1,554 @@ +/************************************************************************* + * + * $RCSfile: undodat.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UNDODAT_HXX +#define SC_UNDODAT_HXX + +#ifndef SC_UNDOBASE_HXX +#include "undobase.hxx" +#endif + +#ifndef SC_RANGEUTL_HXX +#include "rangeutl.hxx" // ScArea +#endif + +#ifndef SC_RANGELST_HXX +#include "rangelst.hxx" // ScRangeListRef +#endif + +#ifndef SC_MARKDATA_HXX +#include "markdata.hxx" +#endif + + +class ScDocShell; +class ScDocument; +class ScOutlineTable; +class ScRangeName; +class ScDBData; +class ScDBCollection; +class ScPivot; +class ScDPObject; + +//---------------------------------------------------------------------------- + +class ScUndoDoOutline: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoDoOutline( ScDocShell* pNewDocShell, + USHORT nNewStart, USHORT nNewEnd, USHORT nNewTab, + ScDocument* pNewUndoDoc, BOOL bNewColumns, + USHORT nNewLevel, USHORT nNewEntry, BOOL bNewShow ); + virtual ~ScUndoDoOutline(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nStart; + USHORT nEnd; + USHORT nTab; + ScDocument* pUndoDoc; + BOOL bColumns; + USHORT nLevel; + USHORT nEntry; + BOOL bShow; +}; + + +class ScUndoMakeOutline: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoMakeOutline( ScDocShell* pNewDocShell, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ, + ScOutlineTable* pNewUndoTab, + BOOL bNewColumns, BOOL bNewMake ); + virtual ~ScUndoMakeOutline(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScTripel aBlockStart; + ScTripel aBlockEnd; + ScOutlineTable* pUndoTable; + BOOL bColumns; + BOOL bMake; +}; + + +class ScUndoOutlineLevel: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoOutlineLevel( ScDocShell* pNewDocShell, + USHORT nNewStart, USHORT nNewEnd, USHORT nNewTab, + ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab, + BOOL bNewColumns, USHORT nNewLevel ); + virtual ~ScUndoOutlineLevel(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nStart; + USHORT nEnd; + USHORT nTab; + ScDocument* pUndoDoc; + ScOutlineTable* pUndoTable; + BOOL bColumns; + USHORT nLevel; +}; + + +class ScUndoOutlineBlock: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoOutlineBlock( ScDocShell* pNewDocShell, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ, + ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab, + BOOL bNewShow ); + virtual ~ScUndoOutlineBlock(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScTripel aBlockStart; + ScTripel aBlockEnd; + ScDocument* pUndoDoc; + ScOutlineTable* pUndoTable; + BOOL bShow; +}; + + +class ScUndoRemoveAllOutlines: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoRemoveAllOutlines( ScDocShell* pNewDocShell, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ, + ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab ); + virtual ~ScUndoRemoveAllOutlines(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScTripel aBlockStart; + ScTripel aBlockEnd; + ScDocument* pUndoDoc; + ScOutlineTable* pUndoTable; +}; + + +class ScUndoAutoOutline: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoAutoOutline( ScDocShell* pNewDocShell, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ, + ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab ); + virtual ~ScUndoAutoOutline(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScTripel aBlockStart; + ScTripel aBlockEnd; + ScDocument* pUndoDoc; + ScOutlineTable* pUndoTable; +}; + + +class ScUndoSubTotals: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoSubTotals( ScDocShell* pNewDocShell, USHORT nNewTab, + const ScSubTotalParam& rNewParam, USHORT nNewEndY, + ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab, +// ScDBData* pNewData, + ScRangeName* pNewUndoRange, ScDBCollection* pNewUndoDB ); + virtual ~ScUndoSubTotals(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + ScSubTotalParam aParam; // Original uebergebener Parameter + USHORT nNewEndRow; // Ergebnis-Groesse + ScDocument* pUndoDoc; + ScOutlineTable* pUndoTable; +// ScDBData* pUndoDBData; + ScRangeName* pUndoRange; + ScDBCollection* pUndoDB; +}; + + +class ScUndoSort: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoSort( ScDocShell* pNewDocShell, USHORT nNewTab, + const ScSortParam& rParam, + BOOL bQuery, ScDocument* pNewUndoDoc, + ScDBCollection* pNewUndoDB, const ScRange* pDest = NULL ); + virtual ~ScUndoSort(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + ScSortParam aSortParam; + BOOL bRepeatQuery; + ScDocument* pUndoDoc; + ScDBCollection* pUndoDB; // wegen Quell- und Zielbereich + BOOL bDestArea; + ScRange aDestRange; +}; + + +class ScUndoQuery: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoQuery( ScDocShell* pNewDocShell, USHORT nNewTab, + const ScQueryParam& rParam, ScDocument* pNewUndoDoc, + ScDBCollection* pNewUndoDB, const ScRange* pOld, + BOOL bSize, const ScRange* pAdvSrc ); + virtual ~ScUndoQuery(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + ScQueryParam aQueryParam; + ScDocument* pUndoDoc; + ScDBCollection* pUndoDB; // wegen Quell- und Zielbereich + ScRange aOldDest; + ScRange aAdvSource; + BOOL bIsAdvanced; + BOOL bDestArea; + BOOL bDoSize; +}; + + +class ScUndoDBData: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoDBData( ScDocShell* pNewDocShell, + ScDBCollection* pNewUndoColl, ScDBCollection* pNewRedoColl ); + virtual ~ScUndoDBData(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDBCollection* pUndoColl; + ScDBCollection* pRedoColl; +}; + + +class ScUndoImportData: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoImportData( ScDocShell* pNewDocShell, USHORT nNewTab, + const ScImportParam& rParam, USHORT nNewEndX, USHORT nNewEndY, + USHORT nNewFormula, + ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, + ScDBData* pNewUndoData, ScDBData* pNewRedoData ); + virtual ~ScUndoImportData(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + ScImportParam aImportParam; + USHORT nEndCol; + USHORT nEndRow; + ScDocument* pUndoDoc; + ScDocument* pRedoDoc; + ScDBData* pUndoDBData; + ScDBData* pRedoDBData; + USHORT nFormulaCols; + BOOL bRedoFilled; +}; + + +class ScUndoRepeatDB: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoRepeatDB( ScDocShell* pNewDocShell, USHORT nNewTab, + USHORT nStartX, USHORT nStartY, USHORT nEndX, USHORT nEndY, + USHORT nResultEndRow, USHORT nCurX, USHORT nCurY, + ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab, + ScRangeName* pNewUndoRange, ScDBCollection* pNewUndoDB, + const ScRange* pOldQ, const ScRange* pNewQ ); + virtual ~ScUndoRepeatDB(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScTripel aBlockStart; + ScTripel aBlockEnd; + USHORT nNewEndRow; + ScTripel aCursorPos; + ScDocument* pUndoDoc; + ScOutlineTable* pUndoTable; + ScRangeName* pUndoRange; + ScDBCollection* pUndoDB; + ScRange aOldQuery; + ScRange aNewQuery; + BOOL bQuerySize; +}; + + +class ScUndoPivot: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoPivot( ScDocShell* pNewDocShell, + const ScArea& rOld, const ScArea& rNew, + ScDocument* pOldDoc, ScDocument* pNewDoc, + const ScPivot* pOldPivot, const ScPivot* pNewPivot ); + virtual ~ScUndoPivot(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScArea aOldArea; + ScArea aNewArea; + ScDocument* pOldUndoDoc; + ScDocument* pNewUndoDoc; + ScPivotParam aOldParam; // fuer Redo + ScQueryParam aOldQuery; + ScArea aOldSrc; + ScPivotParam aNewParam; // fuer Undo in Collection + ScQueryParam aNewQuery; + ScArea aNewSrc; + String aOldName; + String aOldTag; + String aNewName; + String aNewTag; +}; + + +class ScUndoDataPilot: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoDataPilot( ScDocShell* pNewDocShell, + ScDocument* pOldDoc, ScDocument* pNewDoc, + const ScDPObject* pOldObj, const ScDPObject* pNewObj ); + virtual ~ScUndoDataPilot(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScDocument* pOldUndoDoc; + ScDocument* pNewUndoDoc; + ScDPObject* pOldDPObject; + ScDPObject* pNewDPObject; +}; + + +class ScUndoConsolidate: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoConsolidate( ScDocShell* pNewDocShell, + const ScArea& rArea, const ScConsolidateParam& rPar, + ScDocument* pNewUndoDoc, BOOL bReference, + USHORT nInsCount, ScOutlineTable* pTab, + ScDBData* pData ); + virtual ~ScUndoConsolidate(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + ScArea aDestArea; + ScDocument* pUndoDoc; + ScConsolidateParam aParam; + BOOL bInsRef; + USHORT nInsertCount; + ScOutlineTable* pUndoTab; + ScDBData* pUndoData; +}; + + +class ScUndoChartData: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoChartData( ScDocShell* pNewDocShell, + const String& rName, const ScRange& rNew, + BOOL bColHdr, BOOL bRowHdr, BOOL bAdd ); + ScUndoChartData( ScDocShell* pNewDocShell, + const String& rName, const ScRangeListRef& rNew, + BOOL bColHdr, BOOL bRowHdr, BOOL bAdd ); + virtual ~ScUndoChartData(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + String aChartName; + ScRangeListRef aOldRangeListRef; + BOOL bOldColHeaders; + BOOL bOldRowHeaders; +// ScRange aNewRange; + ScRangeListRef aNewRangeListRef; + BOOL bNewColHeaders; + BOOL bNewRowHeaders; + BOOL bAddRange; + + void Init(); +}; + + + + +#endif + diff --git a/sc/source/ui/inc/undodraw.hxx b/sc/source/ui/inc/undodraw.hxx new file mode 100644 index 000000000000..822cf03baf34 --- /dev/null +++ b/sc/source/ui/inc/undodraw.hxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * $RCSfile: undodraw.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UNDODRAW_HXX +#define SC_UNDODRAW_HXX + +#ifndef _UNDO_HXX //autogen +#include <svtools/undo.hxx> +#endif + +class ScDocShell; + +class ScUndoDraw: public SfxUndoAction +{ + SfxUndoAction* pDrawUndo; + ScDocShell* pDocShell; + +public: + TYPEINFO(); + ScUndoDraw( SfxUndoAction* pUndo, ScDocShell* pDocSh ); + virtual ~ScUndoDraw(); + + SfxUndoAction* GetDrawUndo() { return pDrawUndo; } + void ForgetDrawUndo(); + + virtual BOOL IsLinked(); + virtual void SetLinked( BOOL bIsLinked ); + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + virtual BOOL Merge( SfxUndoAction *pNextAction ); + virtual String GetComment() const; + virtual String GetRepeatComment(SfxRepeatTarget&) const; + virtual USHORT GetId() const; +}; + + + +#endif + diff --git a/sc/source/ui/inc/undoolk.hxx b/sc/source/ui/inc/undoolk.hxx new file mode 100644 index 000000000000..19bcd2221c5d --- /dev/null +++ b/sc/source/ui/inc/undoolk.hxx @@ -0,0 +1,80 @@ +/************************************************************************* + * + * $RCSfile: undoolk.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UNDOOLK_HXX +#define SC_UNDOOLK_HXX + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +class SdrUndoAction; +class ScDocument; + +SdrUndoAction* GetSdrUndoAction ( ScDocument* pDoc ); +void DoSdrUndoAction ( SdrUndoAction* pUndoAction ); +void RedoSdrUndoAction ( SdrUndoAction* pUndoAction ); +void DeleteSdrUndoAction ( SdrUndoAction* pUndoAction ); +void EnableDrawAdjust ( ScDocument* pDoc, BOOL bEnable ); + + + +#endif diff --git a/sc/source/ui/inc/undostyl.hxx b/sc/source/ui/inc/undostyl.hxx new file mode 100644 index 000000000000..cbccfc618ebb --- /dev/null +++ b/sc/source/ui/inc/undostyl.hxx @@ -0,0 +1,148 @@ +/************************************************************************* + * + * $RCSfile: undostyl.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UNDOSTYL_HXX +#define SC_UNDOSTYL_HXX + +#ifndef _RSCSFX_HXX +#include <rsc/rscsfx.hxx> +#endif + +#ifndef SC_UNDOBASE_HXX +#include "undobase.hxx" +#endif + +class ScDocShell; +class SfxStyleSheetBase; + +//---------------------------------------------------------------------------- + +class ScStyleSaveData +{ +private: + String aName; + String aParent; + SfxItemSet* pItems; + +public: + ScStyleSaveData(); + ScStyleSaveData( const ScStyleSaveData& rOther ); + ~ScStyleSaveData(); + ScStyleSaveData& operator=( const ScStyleSaveData& rOther ); + + void InitFromStyle( const SfxStyleSheetBase* pSource ); + + const String& GetName() const { return aName; } + const String& GetParent() const { return aParent; } + const SfxItemSet* GetItems() const { return pItems; } +}; + +class ScUndoModifyStyle: public ScSimpleUndo +{ +private: + SfxStyleFamily eFamily; + ScStyleSaveData aOldData; + ScStyleSaveData aNewData; + + static void DoChange( ScDocShell* pDocSh, + const String& rName, SfxStyleFamily eStyleFamily, + const ScStyleSaveData& rData ); + +public: + TYPEINFO(); + ScUndoModifyStyle( ScDocShell* pDocSh, + SfxStyleFamily eFam, + const ScStyleSaveData& rOld, + const ScStyleSaveData& rNew ); + virtual ~ScUndoModifyStyle(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; +}; + +class ScUndoApplyPageStyle: public ScSimpleUndo +{ +private: + USHORT nTab; + String aOldStyle; + String aNewStyle; + +public: + TYPEINFO(); + ScUndoApplyPageStyle( ScDocShell* pDocSh, USHORT nT, + const String& rOld, const String& rNew ); + virtual ~ScUndoApplyPageStyle(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; +}; + + +#endif + diff --git a/sc/source/ui/inc/undotab.hxx b/sc/source/ui/inc/undotab.hxx new file mode 100644 index 000000000000..2454610ad720 --- /dev/null +++ b/sc/source/ui/inc/undotab.hxx @@ -0,0 +1,453 @@ +/************************************************************************* + * + * $RCSfile: undotab.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UNDOTAB_HXX +#define SC_UNDOTAB_HXX + +#ifndef SC_UNDOBASE_HXX +#include "undobase.hxx" +#endif +#ifndef SC_MARKDATA_HXX +#include "markdata.hxx" +#endif + +#ifndef _SVSTDARR_USHORTS + +#define _SVSTDARR_USHORTS +#include <svtools/svstdarr.hxx> + +#endif + +#ifndef _SVSTDARR_STRINGS + +#define _SVSTDARR_STRINGS +#include <svtools/svstdarr.hxx> + +#endif + +class ScDocShell; +class ScDocument; +class SdrUndoAction; +class ScPrintRangeSaver; + +//---------------------------------------------------------------------------- + +class ScUndoInsertTab : public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoInsertTab( + ScDocShell* pNewDocShell, + USHORT nTabNum, + BOOL bApp, + const String& rNewName); + virtual ~ScUndoInsertTab(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + String sNewName; + SdrUndoAction* pDrawUndo; + ULONG nEndChangeAction; + USHORT nTab; + BOOL bAppend; + + void SetChangeTrack(); +}; + +class ScUndoInsertTables : public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoInsertTables( + ScDocShell* pNewDocShell, + USHORT nTabNum, + BOOL bApp, + SvStrings *pNewNameList); + virtual ~ScUndoInsertTables(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + + SdrUndoAction* pDrawUndo; + SvStrings* pNameList; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + USHORT nTab; + BOOL bAppend; + + void SetChangeTrack(); +}; + + +class ScUndoDeleteTab: public ScMoveUndo // Draw vom Move fuer geloeschte Tabelle +{ +public: + TYPEINFO(); + ScUndoDeleteTab( + ScDocShell* pNewDocShell, + const SvUShorts &theTabs, //USHORT nNewTab, + ScDocument* pUndoDocument, + ScRefUndoData* pRefData ); + virtual ~ScUndoDeleteTab(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + SvUShorts theTabs; + ULONG nStartChangeAction; + ULONG nEndChangeAction; + + void SetChangeTrack(); +}; + + +class ScUndoRenameTab: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoRenameTab( + ScDocShell* pNewDocShell, + USHORT nT, + const String& rOldName, + const String& rNewName); + virtual ~ScUndoRenameTab(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + String sOldName; + String sNewName; + + void DoChange( USHORT nTab, const String& rName ) const; +}; + + +class ScUndoMoveTab: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoMoveTab( ScDocShell* pNewDocShell, + const SvUShorts &aOldTab, + const SvUShorts &aNewTab); + virtual ~ScUndoMoveTab(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + SvUShorts theOldTabs; + SvUShorts theNewTabs; + + void DoChange( BOOL bUndo ) const; +}; + + +class ScUndoCopyTab: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoCopyTab(ScDocShell* pNewDocShell, + const SvUShorts &aOldTab, + const SvUShorts &aNewTab); + + virtual ~ScUndoCopyTab(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + SdrUndoAction* pDrawUndo; + SvUShorts theOldTabs; + SvUShorts theNewTabs; + + void DoChange() const; +}; + + +class ScUndoMakeScenario: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoMakeScenario( + ScDocShell* pNewDocShell, + USHORT nSrc, USHORT nDest, + ScDocument* pUndo, + const String& rN, const String& rC, + const Color& rCol, USHORT nF, + const ScMarkData& rMark ); + virtual ~ScUndoMakeScenario(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nSrcTab; + USHORT nDestTab; + ScDocument* pUndoDoc; + String aName; + String aComment; + Color aColor; + USHORT nFlags; + ScMarkData aMarkData; +}; + + +class ScUndoImportTab : public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoImportTab( + ScDocShell* pShell, + USHORT nNewTab, USHORT nNewCount, + BOOL bNewLink ); + virtual ~ScUndoImportTab(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + USHORT nCount; + BOOL bLink; + ScDocument* pRedoDoc; + SdrUndoAction* pDrawUndo; + + void DoChange() const; +}; + + +class ScUndoRemoveLink : public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoRemoveLink( // vor dem Loeschen aufrufen! + ScDocShell* pShell, + const String& rDoc ); + virtual ~ScUndoRemoveLink(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + String aDocName; + String aFltName; + String aOptions; + USHORT nCount; + USHORT* pTabs; + BYTE* pModes; + String* pTabNames; + + void DoChange( BOOL bLink ) const; +}; + + +class ScUndoShowHideTab : public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoShowHideTab( + ScDocShell* pShell, + USHORT nNewTab, BOOL bNewShow ); + virtual ~ScUndoShowHideTab(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + BOOL bShow; + + void DoChange( BOOL bShow ) const; +}; + + +class ScUndoProtect : public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoProtect( ScDocShell* pShell, USHORT nNewTab, + BOOL bNewProtect, const String& rNewPassword ); + virtual ~ScUndoProtect(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + BOOL bProtect; + String aPassword; + + void DoProtect( BOOL bDo ); +}; + + +class ScUndoPrintRange : public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoPrintRange( ScDocShell* pShell, USHORT nNewTab, + ScPrintRangeSaver* pOld, ScPrintRangeSaver* pNew ); + virtual ~ScUndoPrintRange(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + ScPrintRangeSaver* pOldRanges; + ScPrintRangeSaver* pNewRanges; + + void DoChange( BOOL bUndo ); +}; + + +class ScUndoScenarioFlags: public ScSimpleUndo +{ +public: + TYPEINFO(); + ScUndoScenarioFlags( + ScDocShell* pNewDocShell, USHORT nT, + const String& rON, const String& rNN, + const String& rOC, const String& rNC, + const Color& rOCol, const Color& rNCol, + USHORT nOF, USHORT nNF ); + + virtual ~ScUndoScenarioFlags(); + + virtual void Undo(); + virtual void Redo(); + virtual void Repeat(SfxRepeatTarget& rTarget); + virtual BOOL CanRepeat(SfxRepeatTarget& rTarget) const; + + virtual String GetComment() const; + +private: + USHORT nTab; + String aOldName; + String aNewName; + String aOldComment; + String aNewComment; + Color aOldColor; + Color aNewColor; + USHORT nOldFlags; + USHORT nNewFlags; +}; + + + + +#endif + diff --git a/sc/source/ui/inc/undoutil.hxx b/sc/source/ui/inc/undoutil.hxx new file mode 100644 index 000000000000..3047f2ebc382 --- /dev/null +++ b/sc/source/ui/inc/undoutil.hxx @@ -0,0 +1,102 @@ +/************************************************************************* + * + * $RCSfile: undoutil.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_UNDOUTIL_HXX +#define SC_UNDOUTIL_HXX + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +class ScTripel; +class ScRange; +class ScDocShell; +class ScDBData; +class ScDocument; + +//---------------------------------------------------------------------------- + +class ScUndoUtil +{ +public: + // Block markieren (unsichtbar, muss repainted werden) + static void MarkSimpleBlock( ScDocShell* pDocShell, + USHORT nStartX, USHORT nStartY, USHORT nStartZ, + USHORT nEndX, USHORT nEndY, USHORT nEndZ ); + static void MarkSimpleBlock( ScDocShell* pDocShell, + const ScTripel& rBlockStart, + const ScTripel& rBlockEnd ); + static void MarkSimpleBlock( ScDocShell* pDocShell, + const ScRange& rRange ); + + // Bereich +1 painten + static void PaintMore( ScDocShell* pDocShell, + const ScRange& rRange ); + + // DB-Bereich im Dokument suchen ("unbenannt" oder nach Bereich) + // legt neu an, wenn nicht gefunden + static ScDBData* GetOldDBData( ScDBData* pUndoData, ScDocument* pDoc, USHORT nTab, + USHORT nCol1, USHORT nRow1, USHORT nCol2, USHORT nRow2 ); +}; + + + +#endif diff --git a/sc/source/ui/inc/validate.hrc b/sc/source/ui/inc/validate.hrc new file mode 100644 index 000000000000..03a76730b9f1 --- /dev/null +++ b/sc/source/ui/inc/validate.hrc @@ -0,0 +1,86 @@ +/************************************************************************* + * + * $RCSfile: validate.hrc,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#define TP_VALIDATION_VALUES 696 +#define TP_VALIDATION_INPUTHELP 697 +#define TP_VALIDATION_ERROR 698 +#define TAB_DLG_VALIDATION 699 +#define FT_ALLOW 1 +#define LB_ALLOW 1 +#define TSB_ALLOW_BLANKS 1 +#define FT_VALUE 2 +#define LB_VALUE 2 +#define FT_MIN 3 +#define EDT_MIN 1 +#define FT_MAX 4 +#define EDT_MAX 2 +#define GRP_VALUES 1 +#define TSB_HELP 1 +#define FT_TITLE 1 +#define FT_INPUTHELP 2 +#define EDT_TITLE 1 +#define EDT_INPUTHELP 2 +#define TSB_SHOW 1 +#define FT_ACTION 3 +#define FT_ERROR 4 +#define LB_ACTION 2 +#define EDT_ERROR 1 +#define BTN_SEARCH 1 +#define GRP_CONTENT 1 diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx new file mode 100644 index 000000000000..75a0b8765f1b --- /dev/null +++ b/sc/source/ui/inc/validate.hxx @@ -0,0 +1,210 @@ +/************************************************************************* + * + * $RCSfile: validate.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_VALIDATE_HXX +#define SC_VALIDATE_HXX + + +#ifndef _SFXTABDLG_HXX //autogen +#include <sfx2/tabdlg.hxx> +#endif + +#ifndef _SV_EDIT_HXX //autogen +#include <vcl/edit.hxx> +#endif + +#ifndef _SV_FIXED_HXX //autogen +#include <vcl/fixed.hxx> +#endif + +#ifndef _SV_GROUP_HXX //autogen +#include <vcl/group.hxx> +#endif + +#ifndef _SV_LSTBOX_HXX //autogen +#include <vcl/lstbox.hxx> +#endif + +#ifndef _SVEDIT_HXX //autogen +#include <svtools/svmedit.hxx> +#endif + + +//================================================================== + +class ScValidationDlg : public SfxTabDialog +{ +public: + ScValidationDlg( Window* pParent, const SfxItemSet* pArgSet ); + ~ScValidationDlg(); + +}; + +//================================================================== + +class ScTPValidationValue : public SfxTabPage +{ +private: + FixedText aFtAllow; + ListBox aLbAllow; + TriStateBox aTsbAllow; + FixedText aFtValue; + ListBox aLbValue; + FixedText aFtMin; + Edit aEdtMin; + FixedText aFtMax; + Edit aEdtMax; + GroupBox aGrpValues; + + String aStrMin; + String aStrMax; + String aStrValue; + + const SfxItemSet& rSet; + +#ifdef _VALIDATE_CXX + void Init(); + + // Handler ------------------------ + DECL_LINK( SelectAllowHdl, ListBox * ); + DECL_LINK( SelectValueHdl, ListBox * ); +#endif + +public: + ScTPValidationValue( Window* pParent, const SfxItemSet& rArgSet ); + ~ScTPValidationValue(); + + static SfxTabPage* Create ( Window* pParent, const SfxItemSet& rArgSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rArgSet ); + virtual void Reset ( const SfxItemSet& rArgSet ); +}; + +//================================================================== + +class ScTPValidationHelp : public SfxTabPage +{ +private: + TriStateBox aTsbHelp; + FixedText aFtTitle; + Edit aEdtTitle; + FixedText aFtInputHelp; + MultiLineEdit aEdInputHelp; + GroupBox aGrpContent; + + const SfxItemSet& rSet; + +#ifdef _VALIDATE_CXX + void Init(); + + // Handler ------------------------ + // DECL_LINK( SelectHdl, ListBox * ); +#endif + +public: + ScTPValidationHelp( Window* pParent, const SfxItemSet& rArgSet ); + ~ScTPValidationHelp(); + + static SfxTabPage* Create ( Window* pParent, const SfxItemSet& rArgSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rArgSet ); + virtual void Reset ( const SfxItemSet& rArgSet ); +}; + +//================================================================== + +class ScTPValidationError : public SfxTabPage +{ +private: + TriStateBox aTsbShow; + FixedText aFtAction; + ListBox aLbAction; + PushButton aBtnSearch; + FixedText aFtTitle; + Edit aEdtTitle; + FixedText aFtError; + MultiLineEdit aEdError; + GroupBox aGrpContent; + + const SfxItemSet& rSet; + +#ifdef _VALIDATE_CXX + void Init(); + + // Handler ------------------------ + DECL_LINK( SelectActionHdl, ListBox * ); + DECL_LINK( ClickSearchHdl, PushButton * ); +#endif + +public: + ScTPValidationError( Window* pParent, const SfxItemSet& rArgSet ); + ~ScTPValidationError(); + + static SfxTabPage* Create ( Window* pParent, const SfxItemSet& rArgSet ); + static USHORT* GetRanges (); + virtual BOOL FillItemSet ( SfxItemSet& rArgSet ); + virtual void Reset ( const SfxItemSet& rArgSet ); +}; + + +#endif // SC_VALIDATE_HXX + + diff --git a/sc/source/ui/inc/viewdata.hxx b/sc/source/ui/inc/viewdata.hxx new file mode 100644 index 000000000000..40ef75dcb29a --- /dev/null +++ b/sc/source/ui/inc/viewdata.hxx @@ -0,0 +1,501 @@ +/************************************************************************* + * + * $RCSfile: viewdata.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_VIEWDATA_HXX +#define SC_VIEWDATA_HXX + +#ifndef SC_VIEWOPTI_HXX +#include "viewopti.hxx" +#endif + +#ifndef SC_MARKDATA_HXX +#include "markdata.hxx" +#endif + + +// --------------------------------------------------------------------------- + +#define SC_SLIDER_SIZE 2 +#define SC_SMALL3DSHADOW COL_BLACK +#define SC_SIZE_NONE 65535 +#define SC_TABSTART_NONE 65535 + +#define SC_FILL_NONE 0 +#define SC_FILL_FILL 1 +#define SC_FILL_EMBED_LT 2 +#define SC_FILL_EMBED_RB 3 +#define SC_FILL_MATRIX 4 + +enum ScSplitMode { SC_SPLIT_NONE = 0, SC_SPLIT_NORMAL, SC_SPLIT_FIX }; + +enum ScSplitPos { SC_SPLIT_TOPLEFT, SC_SPLIT_TOPRIGHT, SC_SPLIT_BOTTOMLEFT, SC_SPLIT_BOTTOMRIGHT }; +enum ScHSplitPos { SC_SPLIT_LEFT, SC_SPLIT_RIGHT }; +enum ScVSplitPos { SC_SPLIT_TOP, SC_SPLIT_BOTTOM }; + +inline ScHSplitPos WhichH( ScSplitPos ePos ); +inline ScVSplitPos WhichV( ScSplitPos ePos ); +inline ScSplitPos Which( ScHSplitPos eHPos ); +inline ScSplitPos Which( ScVSplitPos eVPos ); + +// Bildschirmverhalten bei Cursorbewegungen: +enum ScFollowMode { SC_FOLLOW_NONE, SC_FOLLOW_LINE, SC_FOLLOW_FIX, SC_FOLLOW_JUMP }; + +// Mausmodi um Bereiche zu selektieren +enum ScRefType { SC_REFTYPE_NONE, SC_REFTYPE_REF, SC_REFTYPE_FILL, + SC_REFTYPE_EMBED_LT, SC_REFTYPE_EMBED_RB }; + +class ScDocShell; +class ScDocument; +class ScDBFunc; +class ScTabViewShell; +class ScDrawView; +class ScEditEngineDefaulter; +class EditView; +class EditStatus; +class Outliner; +class Window; +class SfxObjectShell; +class ScPatternAttr; +class ScRangeListRef; +class ScExtDocOptions; + +//-------------------------------------------------------------------------- + + +class ScViewDataTable // Daten pro Tabelle +{ +friend class ScViewData; +private: + long nTPosX[2]; // MapMode - Offset (Twips) + long nTPosY[2]; + long nMPosX[2]; // MapMode - Offset (1/100 mm) + long nMPosY[2]; + long nPixPosX[2]; // Offset in Pixeln + long nPixPosY[2]; + long nHSplitPos; + long nVSplitPos; + + ScSplitMode eHSplitMode; + ScSplitMode eVSplitMode; + ScSplitPos eWhichActive; + + USHORT nFixPosX; // Zellposition des Splitters beim Fixieren + USHORT nFixPosY; + + USHORT nCurX; + USHORT nCurY; + USHORT nOldCurX; + USHORT nOldCurY; + USHORT nPosX[2]; + USHORT nPosY[2]; + + BOOL bOldCurValid; // "virtuelle" Cursorpos. bei zusammengefassten + + ScViewDataTable(); + ScViewDataTable( const ScViewDataTable& rDataTable ); + ~ScViewDataTable(); +}; + +// --------------------------------------------------------------------------- + +class ScViewData +{ +private: + double nPPTX, nPPTY; // Scaling-Faktoren + + ScViewDataTable* pTabData[MAXTAB+1]; + ScViewDataTable* pThisTab; // Daten der angezeigten Tabelle + ScDocShell* pDocShell; + ScDocument* pDoc; + ScDBFunc* pView; + ScTabViewShell* pViewShell; + EditView* pEditView[4]; // gehoert dem Fenster + ScViewOptions* pOptions; + EditView* pSpellingView; + + ScMarkData aMarkData; + + long nEditMargin; + + Size aScenButSize; // Groesse eines Szenario-Buttons + + Size aScrSize; + MapMode aLogicMode; // skalierter 1/100mm-MapMode + + Fraction aZoomX; // eingestellter Zoom X + Fraction aZoomY; // eingestellter Zoom Y (angezeigt) + Fraction aPageZoomX; // Zoom im Seitenumbruch-Vorschaumodus + Fraction aPageZoomY; + + ScRefType eRefType; + + USHORT nTabNo; // angezeigte Tabelle + USHORT nRefTabNo; // Tabelle auf die sich RefInput bezieht + USHORT nRefStartX; + USHORT nRefStartY; + USHORT nRefStartZ; + USHORT nRefEndX; + USHORT nRefEndY; + USHORT nRefEndZ; + USHORT nFillStartX; // Fill-Cursor + USHORT nFillStartY; + USHORT nFillEndX; + USHORT nFillEndY; + USHORT nEditCol; // Position dazu + USHORT nEditRow; + USHORT nEditEndCol; // Ende der Edit-View + USHORT nEditEndRow; + USHORT nTabStartCol; // fuer Enter nach Tab + ScRange aDelRange; // fuer AutoFill-Loeschen + + BOOL bEditActive[4]; // aktiv? + BOOL bActive; // aktives Fenster ? + BOOL bIsRefMode; // Referenzeingabe + BOOL bDelMarkValid; // nur gueltig bei SC_REFTYPE_FILL + BYTE nFillMode; // Modus + BOOL bPagebreak; // Seitenumbruch-Vorschaumodus + + DECL_LINK (EmptyEditHdl, EditStatus*); + DECL_LINK (EditEngineHdl, EditStatus*); + + void CalcPPT(); + +public: + ScViewData( ScDocShell* pDocSh, ScTabViewShell* pViewSh ); + ScViewData( const ScViewData& rViewData ); + ~ScViewData(); + + void InitData( ScDocument* pDocument ); + void InitFrom( const ScViewData* pRef ); + + void SetDocShell( ScDocShell* pShell ); + + ScDocShell* GetDocShell() const { return pDocShell; } + ScDBFunc* GetView() const { return pView; } + ScTabViewShell* GetViewShell() const { return pViewShell; } + + SfxObjectShell* GetSfxDocShell() const; + + ScMarkData& GetMarkData() { return aMarkData; } + + Window* GetDialogParent(); // von tabvwsh weitergeleitet + Window* GetActiveWin(); // von View + ScDrawView* GetScDrawView(); // von View + BOOL IsMinimized(); // von View + + void UpdateInputHandler( BOOL bForce = FALSE ); + + void WriteUserData(String& rData); + void ReadUserData(const String& rData); + void ReadExtOptions(const ScExtDocOptions& rOpt); + + ScDocument* GetDocument() const; + + void SetViewShell( ScTabViewShell* pViewSh ); + + BOOL IsActive() const { return bActive; } + void Activate(BOOL bActivate) { bActive = bActivate; } + + void UpdateThis(); + + void InsertTab( USHORT nTab ); + void DeleteTab( USHORT nTab ); + void CopyTab( USHORT nSrcTab, USHORT nDestTab ); + void MoveTab( USHORT nSrcTab, USHORT nDestTab ); + + USHORT GetRefTabNo() const { return nRefTabNo; } + void SetRefTabNo( USHORT nNewTab ) { nRefTabNo = nNewTab; } + + USHORT GetTabNo() const { return nTabNo; } + ScSplitPos GetActivePart() const { return pThisTab->eWhichActive; } + USHORT GetPosX( ScHSplitPos eWhich ) const { return pThisTab->nPosX[eWhich]; } + USHORT GetPosY( ScVSplitPos eWhich ) const { return pThisTab->nPosY[eWhich]; } + USHORT GetCurX() const { return pThisTab->nCurX; } + USHORT GetCurY() const { return pThisTab->nCurY; } + BOOL HasOldCursor() const { return pThisTab->bOldCurValid; } + USHORT GetOldCurX() const; + USHORT GetOldCurY() const; + ScSplitMode GetHSplitMode() const { return pThisTab->eHSplitMode; } + ScSplitMode GetVSplitMode() const { return pThisTab->eVSplitMode; } + long GetHSplitPos() const { return pThisTab->nHSplitPos; } + long GetVSplitPos() const { return pThisTab->nVSplitPos; } + USHORT GetFixPosX() const { return pThisTab->nFixPosX; } + USHORT GetFixPosY() const { return pThisTab->nFixPosY; } + BOOL IsPagebreakMode() const { return bPagebreak; } + + void SetPosX( ScHSplitPos eWhich, USHORT nNewPosX ); + void SetPosY( ScVSplitPos eWhich, USHORT nNewPosY ); + void SetCurX( USHORT nNewCurX ) { pThisTab->nCurX = nNewCurX; } + void SetCurY( USHORT nNewCurY ) { pThisTab->nCurY = nNewCurY; } + void SetOldCursor( USHORT nNewX, USHORT nNewY ); + void ResetOldCursor(); + void SetHSplitMode( ScSplitMode eMode ) { pThisTab->eHSplitMode = eMode; } + void SetVSplitMode( ScSplitMode eMode ) { pThisTab->eVSplitMode = eMode; } + void SetHSplitPos( long nPos ) { pThisTab->nHSplitPos = nPos; } + void SetVSplitPos( long nPos ) { pThisTab->nVSplitPos = nPos; } + void SetFixPosX( USHORT nPos ) { pThisTab->nFixPosX = nPos; } + void SetFixPosY( USHORT nPos ) { pThisTab->nFixPosY = nPos; } + void SetPagebreakMode( BOOL bSet ); + + void SetZoom( const Fraction& rNewX, const Fraction& rNewY ); + + const Fraction& GetZoomX() const { return bPagebreak ? aPageZoomX : aZoomX; } + const Fraction& GetZoomY() const { return bPagebreak ? aPageZoomY : aZoomY; } + + const MapMode& GetLogicMode( ScSplitPos eWhich ); + const MapMode& GetLogicMode(); // Offset 0 + + long GetTPosX( ScHSplitPos eWhich ) const { return pThisTab->nTPosX[eWhich]; } + long GetTPosY( ScVSplitPos eWhich ) const { return pThisTab->nTPosY[eWhich]; } + + double GetPPTX() const { return nPPTX; } + double GetPPTY() const { return nPPTY; } + + BOOL GetSimpleArea( USHORT& rStartCol, USHORT& rStartRow, USHORT& rStartTab, + USHORT& rEndCol, USHORT& rEndRow, USHORT& rEndTab, + BOOL bMergeMark = TRUE ); + BOOL GetSimpleArea( ScRange& rRange, BOOL bMergeMark = TRUE ); + void GetMultiArea( ScRangeListRef& rRange, BOOL bMergeMark = TRUE ); + + BOOL SimpleColMarked(); + BOOL SimpleRowMarked(); + + void SetFillMode( USHORT nStartCol, USHORT nStartRow, USHORT nEndCol, USHORT nEndRow ); + void SetDragMode( USHORT nStartCol, USHORT nStartRow, USHORT nEndCol, USHORT nEndRow, + BYTE nMode ); + void GetFillData( USHORT& rStartCol, USHORT& rStartRow, + USHORT& rEndCol, USHORT& rEndRow ); + void ResetFillMode(); + BOOL IsAnyFillMode() { return nFillMode != SC_FILL_NONE; } + BOOL IsFillMode() { return nFillMode == SC_FILL_FILL; } + BYTE GetFillMode() { return nFillMode; } + + // TRUE: Zelle ist zusammengefasst + BOOL GetMergeSizePixel( USHORT nX, USHORT nY, long& rSizeXPix, long& rSizeYPix ); + BOOL GetPosFromPixel( long nClickX, long nClickY, ScSplitPos eWhich, + short& rPosX, short& rPosY, + BOOL bTestMerge = TRUE, BOOL bRepair = FALSE, + BOOL bNextIfLarge = TRUE ); + void GetMouseQuadrant( const Point& rClickPos, ScSplitPos eWhich, + short nPosX, short nPosY, BOOL& rLeft, BOOL& rTop ); + + BOOL IsRefMode() const { return bIsRefMode; } + ScRefType GetRefType() const { return eRefType; } + USHORT GetRefStartX() const { return nRefStartX; } + USHORT GetRefStartY() const { return nRefStartY; } + USHORT GetRefStartZ() const { return nRefStartZ; } + USHORT GetRefEndX() const { return nRefEndX; } + USHORT GetRefEndY() const { return nRefEndY; } + USHORT GetRefEndZ() const { return nRefEndZ; } + + void SetRefMode( BOOL bNewMode, ScRefType eNewType ) + { bIsRefMode = bNewMode; eRefType = eNewType; } + + void SetRefStart( USHORT nNewX, USHORT nNewY, USHORT nNewZ ) + { nRefStartX = nNewX; nRefStartY = nNewY; nRefStartZ = nNewZ; } + void SetRefEnd( USHORT nNewX, USHORT nNewY, USHORT nNewZ ) + { nRefEndX = nNewX; nRefEndY = nNewY; nRefEndZ = nNewZ; } + + void ResetDelMark() { bDelMarkValid = FALSE; } + void SetDelMark( const ScRange& rRange ) + { aDelRange = rRange; bDelMarkValid = TRUE; } + + BOOL GetDelMark( ScRange& rRange ) const + { rRange = aDelRange; return bDelMarkValid; } + + inline void GetMoveCursor( USHORT& rCurX, USHORT& rCurY ); + + const ScViewOptions& GetOptions() const { return *pOptions; } + void SetOptions( const ScViewOptions& rOpt ); + + BOOL IsGridMode () const { return pOptions->GetOption( VOPT_GRID ); } + void SetGridMode ( BOOL bNewMode ) { pOptions->SetOption( VOPT_GRID, bNewMode ); } + BOOL IsSyntaxMode () const { return pOptions->GetOption( VOPT_SYNTAX ); } + void SetSyntaxMode ( BOOL bNewMode ) { pOptions->SetOption( VOPT_SYNTAX, bNewMode ); } + BOOL IsHeaderMode () const { return pOptions->GetOption( VOPT_HEADER ); } + void SetHeaderMode ( BOOL bNewMode ) { pOptions->SetOption( VOPT_HEADER, bNewMode ); } + BOOL IsTabMode () const { return pOptions->GetOption( VOPT_TABCONTROLS ); } + void SetTabMode ( BOOL bNewMode ) { pOptions->SetOption( VOPT_TABCONTROLS, bNewMode ); } + BOOL IsVScrollMode () const { return pOptions->GetOption( VOPT_VSCROLL ); } + void SetVScrollMode ( BOOL bNewMode ) { pOptions->SetOption( VOPT_VSCROLL, bNewMode ); } + BOOL IsHScrollMode () const { return pOptions->GetOption( VOPT_HSCROLL ); } + void SetHScrollMode ( BOOL bNewMode ) { pOptions->SetOption( VOPT_HSCROLL, bNewMode ); } + BOOL IsOutlineMode () const { return pOptions->GetOption( VOPT_OUTLINER ); } + void SetOutlineMode ( BOOL bNewMode ) { pOptions->SetOption( VOPT_OUTLINER, bNewMode ); } + + void KillEditView(); + void ResetEditView(); + void SetEditEngine( ScSplitPos eWhich, + ScEditEngineDefaulter* pNewEngine, + Window* pWin, USHORT nNewX, USHORT nNewY ); + void GetEditView( ScSplitPos eWhich, EditView*& rViewPtr, USHORT& rCol, USHORT& rRow ); + BOOL HasEditView( ScSplitPos eWhich ) const + { return pEditView[eWhich] && bEditActive[eWhich]; } + EditView* GetEditView( ScSplitPos eWhich ) const + { return pEditView[eWhich]; } + + void EditGrowX(); + void EditGrowY(); + + USHORT GetEditViewCol() const { return nEditCol; } + USHORT GetEditViewRow() const { return nEditRow; } + USHORT GetEditEndCol() const { return nEditEndCol; } + USHORT GetEditEndRow() const { return nEditEndRow; } + + Rectangle GetEditArea( ScSplitPos eWhich, USHORT nPosX, USHORT nPosY, Window* pWin, + const ScPatternAttr* pPattern = NULL ); + + void SetTabNo( USHORT nNewTab ); + void SetActivePart( ScSplitPos eNewActive ); + + Point GetScrPos( USHORT nWhereX, USHORT nWhereY, ScSplitPos eWhich, + BOOL bAllowNeg = FALSE ) const; + Point GetScrPos( USHORT nWhereX, USHORT nWhereY, ScHSplitPos eWhich ) const; + Point GetScrPos( USHORT nWhereX, USHORT nWhereY, ScVSplitPos eWhich ) const; + + USHORT CellsAtX( short nPosX, short nDir, ScHSplitPos eWhichX, USHORT nScrSizeY = SC_SIZE_NONE ) const; + USHORT CellsAtY( short nPosY, short nDir, ScVSplitPos eWhichY, USHORT nScrSizeX = SC_SIZE_NONE ) const; + + USHORT VisibleCellsX( ScHSplitPos eWhichX ) const; // angezeigte komplette Zellen + USHORT VisibleCellsY( ScVSplitPos eWhichY ) const; + USHORT PrevCellsX( ScHSplitPos eWhichX ) const; // Zellen auf der vorgehenden Seite + USHORT PrevCellsY( ScVSplitPos eWhichY ) const; + USHORT LastCellsX( ScHSplitPos eWhichX ) const; // Zellen auf der letzten Seite + USHORT LastCellsY( ScVSplitPos eWhichY ) const; + + BOOL IsOle(); + void UpdateOle( ScSplitPos eWhich ); + void SetScreen( USHORT nCol1, USHORT nRow1, USHORT nCol2, USHORT nRow2 ); + void SetScreen( const Rectangle& rVisArea ); + void SetScreenPos( const Point& rVisAreaStart ); + + void UpdateScreenZoom( const Fraction& rNewX, const Fraction& rNewY ); + + Size GetScrSize() const { return aScrSize; } + + void RecalcPixPos(); + Point GetPixPos( ScSplitPos eWhich ) const + { return Point( pThisTab->nPixPosX[WhichH(eWhich)], + pThisTab->nPixPosY[WhichV(eWhich)] ); } + void SetSpellingView( EditView* pSpView) { pSpellingView = pSpView; } + EditView* GetSpellingView() const { return pSpellingView; } + + void UpdateOutlinerFlags( Outliner& rOutl ) const; + + Point GetMousePosPixel(); + + BOOL UpdateFixX(USHORT nTab = MAXTAB+1); + BOOL UpdateFixY(USHORT nTab = MAXTAB+1); + + USHORT GetTabStartCol() const { return nTabStartCol; } + void SetTabStartCol(USHORT nNew) { nTabStartCol = nNew; } + + ScAddress GetCurPos() const; + + const Size& GetScenButSize() const { return aScenButSize; } + void SetScenButSize(const Size& rNew) { aScenButSize = rNew; } +}; + + +// --------------------------------------------------------------------------- + +inline void ScViewData::GetMoveCursor( USHORT& rCurX, USHORT& rCurY ) +{ + if ( bIsRefMode ) + { + rCurX = nRefEndX; + rCurY = nRefEndY; + } + else + { + rCurX = GetCurX(); + rCurY = GetCurY(); + } +} + +inline ScHSplitPos WhichH( ScSplitPos ePos ) +{ + return (ePos==SC_SPLIT_TOPLEFT || ePos==SC_SPLIT_BOTTOMLEFT) ? + SC_SPLIT_LEFT : SC_SPLIT_RIGHT; +} + +inline ScVSplitPos WhichV( ScSplitPos ePos ) +{ + return (ePos==SC_SPLIT_TOPLEFT || ePos==SC_SPLIT_TOPRIGHT) ? + SC_SPLIT_TOP : SC_SPLIT_BOTTOM; +} + +inline ScSplitPos Which( ScHSplitPos eHPos ) +{ + return (eHPos==SC_SPLIT_LEFT) ? + SC_SPLIT_BOTTOMLEFT : SC_SPLIT_BOTTOMRIGHT; +} + +inline ScSplitPos Which( ScVSplitPos eVPos ) +{ + return (eVPos==SC_SPLIT_TOP) ? + SC_SPLIT_TOPLEFT : SC_SPLIT_BOTTOMLEFT; +} + + + +#endif + diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx new file mode 100644 index 000000000000..dbf7100cf0ad --- /dev/null +++ b/sc/source/ui/inc/viewfunc.hxx @@ -0,0 +1,365 @@ +/************************************************************************* + * + * $RCSfile: viewfunc.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_VIEWFUNC_HXX +#define SC_VIEWFUNC_HXX + +#ifndef SC_TABVIEW_HXX +#include "tabview.hxx" +#endif + +#ifndef _SVSTDARR_USHORTS + +#define _SVSTDARR_USHORTS +#include <svtools/svstdarr.hxx> + +#endif + +#ifndef _SVSTDARR_STRINGS + +#define _SVSTDARR_STRINGS +#include <svtools/svstdarr.hxx> + +#endif + +#define TABLEID_DOC 0xFFFF + +class ScPatternAttr; +class ScAutoFormatData; +class SvxSearchItem; +class SfxItemSet; +class SvxBorderLine; +class SvxBoxItem; +class SvxBoxInfoItem; +class SfxStyleSheet; +class SfxPoolItem; +class SvDataObject; +class EditTextObject; +struct ScSolveParam; +struct ScTabOpParam; +class ScPostIt; +class ScConditionalFormat; +class ScValidationData; +class SdrModel; +class SvInPlaceObject; +class Graphic; +class Exchange; +class ScRangeList; +class SvxHyperlinkItem; + +// --------------------------------------------------------------------------- + +class ScViewFunc : public ScTabView +{ +private: + ScAddress aFormatSource; // fuer automatisches Erweitern von Formatierung + ScRange aFormatArea; + BOOL bFormatValid; + +public: + ScViewFunc( Window* pParent, ScDocShell& rDocSh, ScTabViewShell* pViewShell ); + ScViewFunc( Window* pParent, const ScViewFunc& rViewFunc, ScTabViewShell* pViewShell ); + ~ScViewFunc(); + + const ScPatternAttr* GetSelectionPattern (); + void GetSelectionFrame ( SvxBoxItem& rLineOuter, + SvxBoxInfoItem& rLineInner ); + + BOOL GetAutoSumArea(ScRangeList& rRangeList); + void EnterAutoSum(const ScRangeList& rRangeList); + + void EnterData( USHORT nCol, USHORT nRow, USHORT nTab, const String& rString, + BOOL bRecord = TRUE ); + void EnterData( USHORT nCol, USHORT nRow, USHORT nTab, const double& rValue ); + void EnterData( USHORT nCol, USHORT nRow, USHORT nTab, const EditTextObject* pData, + BOOL bRecord = TRUE, BOOL bTestSimple = FALSE ); + + void EnterMatrix( const String& rString ); + void EnterBlock( const String& rString, const EditTextObject* pData ); + + void EnterDataAtCursor( const String& rString ); //! nicht benutzt ? + + void CutToClip( ScDocument* pClipDoc=NULL ); + void CopyToClip( ScDocument* pClipDoc=NULL, BOOL bCut = FALSE ); + BOOL PasteFromClip( USHORT nFlags, ScDocument* pClipDoc = NULL, + USHORT nFunction = PASTE_NOFUNC, BOOL bSkipEmpty = FALSE, + BOOL bTranspose = FALSE, BOOL bAsLink = FALSE, + InsCellCmd eMoveMode = INS_NONE, + USHORT nUndoExtraFlags = IDF_NONE ); + + void FillTab( USHORT nFlags, USHORT nFunction, BOOL bSkipEmpty, BOOL bAsLink ); + + void PasteFromSystem(); + BOOL PasteFromSystem( ULONG nFormatId, BOOL bApi = FALSE ); +// void ImportString(const String& rString, USHORT nStartCol, USHORT nStartRow); + + BOOL DropFiles( const DropEvent& ); + BOOL DropFile( const DropEvent&, const String& ); + BOOL OpenFile( const String& ); + + void PasteDraw(); + void PasteDraw( const Point& rLogicPos, SdrModel* pModel, + BOOL bGroup = FALSE ); + + BOOL PasteOnDrawObject( SvDataObject* pObject, SdrObject* pHitObj, BOOL bLink ); + BOOL PasteDataObject( SvDataObject* pObject, USHORT nPosX, USHORT nPosY, + Window* pWin = NULL, Point* pLogicPos = NULL ); + BOOL LinkDataObject( SvDataObject* pObject, USHORT nPosX, USHORT nPosY, + Window* pWin = NULL, Point* pLogicPos = NULL ); + BOOL PasteDataFormat( ULONG nFormatId, SvDataObject* pObject, + USHORT nPosX, USHORT nPosY, + Window* pWin = NULL, Point* pLogicPos = NULL ); + BOOL PasteFile( const Point&, const String&, BOOL bLink=FALSE ); + BOOL PasteObject( const Point&, SvInPlaceObject*, SvDataObject* = NULL ); + BOOL PasteBitmap( const Point&, const Bitmap& ); + BOOL PasteMetaFile( const Point&, const GDIMetaFile& ); + BOOL PasteGraphic( const Point& rPos, const Graphic& rGraphic, + const String& rFile, const String& rFilter ); + BOOL PasteBookmark( SvDataObject* pObject, USHORT nPosX, USHORT nPosY ); + BOOL PasteDDE( SvDataObject* pObject ); + + BOOL ApplyGraphicToObject( SdrObject* pObject, const Graphic& rGraphic ); + + void InsertBookmark( const String& rDescription, const String& rURL, + USHORT nPosX, USHORT nPosY, const String* pTarget = NULL ); + BOOL HasBookmarkAtCursor( SvxHyperlinkItem* pContent ); + + long DropRequestHdl( Exchange* pExchange ); + void MoveBlockTo( const ScRange& rSource, const ScAddress& rDestPos, + BOOL bCut, BOOL bRecord = TRUE, BOOL bPaint = TRUE ); + + void LinkBlock( const ScRange& rSource, const ScAddress& rDestPos ); + + void CreateNames( USHORT nFlags ); + USHORT GetCreateNameFlags(); + void InsertNameList(); + BOOL InsertName( const String& rName, const String& rSymbol, + const String& rType ); + + void ApplyAttributes( const SfxItemSet* pDialogSet, const SfxItemSet* pOldSet, + BOOL bRecord = TRUE ); + void ApplyAttr( const SfxPoolItem& rAttrItem ); + void ApplySelectionPattern( const ScPatternAttr& rAttr, + BOOL bRecord = TRUE, + BOOL bCursorOnly = FALSE ); + void ApplyPatternLines( const ScPatternAttr& rAttr, + const SvxBoxItem* pNewOuter, + const SvxBoxInfoItem* pNewInner, BOOL bRecord = TRUE ); + + const SfxStyleSheet* GetStyleSheetFromMarked(); + void SetStyleSheetToMarked( SfxStyleSheet* pStyleSheet, + BOOL bRecord = TRUE ); + void RemoveStyleSheetInUse( SfxStyleSheet* pStyleSheet ); + void UpdateStyleSheetInUse( SfxStyleSheet* pStyleSheet ); + + void SetNumberFormat( short nFormatType, ULONG nAdd = 0 ); + void SetNumFmtByStr( const String& rCode ); + void ChangeNumFmtDecimals( BOOL bIncrement ); + + void SetConditionalFormat( const ScConditionalFormat& rNew ); + void SetValidation( const ScValidationData& rNew ); + + void ChangeIndent( BOOL bIncrement ); + + void Protect( USHORT nTab, const String& rPassword ); + BOOL Unprotect( USHORT nTab, const String& rPassword ); + + void DeleteCells( DelCellCmd eCmd, BOOL bRecord = TRUE ); + BOOL InsertCells( InsCellCmd eCmd, BOOL bRecord = TRUE ); + void DeleteMulti( BOOL bRows, BOOL bRecord = TRUE ); + + void DeleteContents( USHORT nFlags, BOOL bRecord = TRUE ); + + void SetWidthOrHeight( BOOL bWidth, USHORT nRangeCnt, USHORT* pRanges, + ScSizeMode eMode, USHORT nSizeTwips, + BOOL bRecord = TRUE, BOOL bPaint = TRUE ); + void SetMarkedWidthOrHeight( BOOL bWidth, ScSizeMode eMode, USHORT nSizeTwips, + BOOL bRecord = TRUE, BOOL bPaint = TRUE ); + void ShowMarkedColumns( BOOL bShow, BOOL bRecord = TRUE ); + void ShowMarkedRows( BOOL bShow, BOOL bRecord = TRUE ); + + BOOL AdjustBlockHeight( BOOL bPaint = TRUE, ScMarkData* pMarkData = NULL ); + BOOL AdjustRowHeight( USHORT nStartRow, USHORT nEndRow, BOOL bPaint = TRUE ); + + void ModifyCellSize( ScDirection eDir, BOOL bOptimal ); + + void InsertPageBreak( BOOL bColumn, BOOL bRecord = TRUE, + const ScAddress* pPos = NULL, + BOOL bSetModified = TRUE ); + void DeletePageBreak( BOOL bColumn, BOOL bRecord = TRUE, + const ScAddress* pPos = NULL, + BOOL bSetModified = TRUE ); + + void RemoveManualBreaks(); + + void SetPrintZoom(USHORT nScale, USHORT nPages); + void AdjustPrintZoom(); + + BOOL TestMergeCells(); + BOOL TestRemoveMerge(); + + BOOL MergeCells( BOOL bApi, BOOL& rDoContents, BOOL bRecord = TRUE ); + BOOL RemoveMerge( BOOL bRecord = TRUE ); + + void FillSimple( FillDir eDir, BOOL bRecord = TRUE ); + void FillSeries( FillDir eDir, FillCmd eCmd, FillDateCmd eDateCmd, + double fStart, double fStep, double fMax, BOOL bRecord = TRUE ); + void FillAuto( FillDir eDir, USHORT nStartCol, USHORT nStartRow, + USHORT nEndCol, USHORT nEndRow, USHORT nCount, BOOL bRecord = TRUE ); + + ScAutoFormatData* CreateAutoFormatData(); + void AutoFormat( USHORT nFormatNo, BOOL bRecord = TRUE ); + + void SearchAndReplace( const SvxSearchItem* pSearchItem, + BOOL bAddUndo, BOOL bIsApi ); + + void Solve( const ScSolveParam& rParam ); + void TabOp( const ScTabOpParam& rParam, BOOL bRecord = TRUE ); + + BOOL InsertTable( const String& rName, USHORT nTabNr, BOOL bRecord = TRUE ); + BOOL InsertTables(SvStrings *pNames, USHORT nTab, USHORT nCount, BOOL bRecord = TRUE); + + + BOOL AppendTable( const String& rName, BOOL bRecord = TRUE ); + + BOOL DeleteTable( USHORT nTabNr, BOOL bRecord = TRUE ); + BOOL DeleteTables(const SvUShorts &TheTabs, BOOL bRecord = TRUE ); + + BOOL RenameTable( const String& rName, USHORT nTabNr ); + void MoveTable( USHORT nDestDocNo, USHORT nDestTab, BOOL bCopy ); + void ImportTables( ScDocShell* pSrcShell, + USHORT nCount, const USHORT* pSrcTabs, + BOOL bLink,USHORT nTab); + + void InsertTableLink( const String& rFile, + const String& rFilter, const String& rOptions, + const String& rTabName ); + void InsertAreaLink( const String& rFile, + const String& rFilter, const String& rOptions, + const String& rSource ); + + void ShowTable( const String& rName ); + void HideTable( USHORT nTabNr ); + + void MakeScenario( const String& rName, const String& rComment, + const Color& rColor, USHORT nFlags ); + void ExtendScenario(); + void UseScenario( const String& rName ); + + void InsertSpecialChar( const String& rStr, const Font& rFont ); + + void InsertDummyObject(); + void InsertOleObject(); + + void InsertDraw(); + + void SetSelectionFrameLines( const SvxBorderLine* pLine, + BOOL bColorOnly ); + + void SetNote( USHORT nCol, USHORT nRow, USHORT nTab, const ScPostIt& rNote ); + void DoSpellingChecker( BOOL bRecord = TRUE ); + void DoThesaurus( BOOL bRecord = TRUE ); + DECL_LINK( SpellError, void * ); + + void SetPrintRanges( const String* pPrint, + const String* pRepCol, const String* pRepRow, + BOOL bAddPrint ); + + void DetectiveAddPred(); + void DetectiveDelPred(); + void DetectiveAddSucc(); + void DetectiveDelSucc(); + void DetectiveAddError(); + void DetectiveMarkInvalid(); + void DetectiveDelAll(); + void DetectiveRefresh(); + + void ShowNote(); + void EditNote(); + void HideNote(); + + void ForgetFormatArea() { bFormatValid = FALSE; } + BOOL SelectionEditable( BOOL* pOnlyNotBecauseOfMatrix = NULL ); + + // interne Hilfsfunktionen +protected: + void UpdateLineAttrs( SvxBorderLine& rLine, + const SvxBorderLine* pDestLine, + const SvxBorderLine* pSrcLine, + BOOL bColor ); + + void PaintWidthHeight( BOOL bColumns, USHORT nStart, USHORT nEnd ); + + +private: + void PasteRTF( USHORT nCol, USHORT nStartRow, SvDataObject* pObject ); + USHORT GetOptimalColWidth( USHORT nCol, USHORT nTab, BOOL bFormula ); + + void StartFormatArea(); + BOOL TestFormatArea( USHORT nCol, USHORT nRow, USHORT nTab, BOOL bAttrChanged ); + void DoAutoAttributes( USHORT nCol, USHORT nRow, USHORT nTab, + BOOL bAttrChanged, BOOL bAddUndo ); +}; + + + +#endif + diff --git a/sc/source/ui/inc/viewutil.hxx b/sc/source/ui/inc/viewutil.hxx new file mode 100644 index 000000000000..9f5e90b73680 --- /dev/null +++ b/sc/source/ui/inc/viewutil.hxx @@ -0,0 +1,123 @@ +/************************************************************************* + * + * $RCSfile: viewutil.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:45:02 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef SC_VIEWUTIL_HXX +#define SC_VIEWUTIL_HXX + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +class String; +class SvxFontItem; + +class ScChangeAction; +class ScChangeViewSettings; +class ScDocument; + + +enum ScUpdateMode { SC_UPDATE_ALL, SC_UPDATE_CHANGED, SC_UPDATE_MARKS }; + + +// --------------------------------------------------------------------------- + +class ScViewUtil // static Methoden +{ +public: + static BOOL ExecuteCharMap( const SvxFontItem& rOldFont, + SvxFontItem& rNewFont, + String& rString ); + + static BOOL IsActionShown( const ScChangeAction& rAction, + const ScChangeViewSettings& rSettings, + ScDocument& rDocument ); +}; + +// --------------------------------------------------------------------------- + +class ScUpdateRect +{ +private: + USHORT nOldStartX; + USHORT nOldStartY; + USHORT nOldEndX; + USHORT nOldEndY; + USHORT nNewStartX; + USHORT nNewStartY; + USHORT nNewEndX; + USHORT nNewEndY; + USHORT nContX1; + USHORT nContY1; + USHORT nContX2; + USHORT nContY2; +public: + ScUpdateRect( USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2 ); + void SetNew( USHORT nX1, USHORT nY1, USHORT nX2, USHORT nY2 ); + BOOL GetDiff( USHORT& rX1, USHORT& rY1, USHORT& rX2, USHORT& rY2 ); + BOOL GetXorDiff( USHORT& rX1, USHORT& rY1, USHORT& rX2, USHORT& rY2, BOOL& rCont ); + void GetContDiff( USHORT& rX1, USHORT& rY1, USHORT& rX2, USHORT& rY2 ); +}; + + + + +#endif + |