update dev300-m58
[ooovba.git] / sw / source / ui / inc / inputwin.hxx
blob21d6dca472943a3839ebfe1da1f3c472adb436a8
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: inputwin.hxx,v $
10 * $Revision: 1.8 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef SW_INPUTWIN_HXX
31 #define SW_INPUTWIN_HXX
34 #ifndef _MENU_HXX //autogen
35 #include <vcl/menu.hxx>
36 #endif
37 #include <sfx2/childwin.hxx>
38 #ifndef _TOOLBOX_HXX //autogen
39 #include <vcl/toolbox.hxx>
40 #endif
41 #ifndef _EDIT_HXX //autogen
42 #include <vcl/edit.hxx>
43 #endif
45 class SwFldMgr;
46 class SwWrtShell;
47 class SwView;
48 class SfxDispatcher;
50 //========================================================================
51 class InputEdit : public Edit
53 public:
54 InputEdit(Window* pParent, WinBits nStyle) :
55 Edit(pParent , nStyle){}
57 void UpdateRange(const String& aSel,
58 const String& aTblName );
60 protected:
61 virtual void KeyInput( const KeyEvent& );
64 //========================================================================
66 class SwInputWindow : public ToolBox
68 friend class InputEdit;
70 Edit aPos;
71 InputEdit aEdit;
72 PopupMenu aPopMenu;
73 SwFldMgr* pMgr;
74 SwWrtShell* pWrtShell;
75 SwView* pView;
76 SfxBindings* pBindings;
77 String aAktTableName, sOldFml;
78 USHORT nActionCnt;
80 BOOL bFirst : 1; //Initialisierungen beim ersten Aufruf
81 BOOL bActive : 1; //fuer Hide/Show beim Dokumentwechsel
82 BOOL bIsTable : 1;
83 BOOL bDelSel : 1;
84 BOOL bDoesUndo : 1;
85 BOOL bResetUndo : 1;
86 BOOL bCallUndo : 1;
89 void DelBoxCntnt();
90 DECL_LINK( ModifyHdl, InputEdit* );
92 using Window::IsActive;
94 protected:
95 virtual void Resize();
96 virtual void Click();
97 DECL_LINK( MenuHdl, Menu * );
98 DECL_LINK( DropdownClickHdl, ToolBox* );
99 void ApplyFormula();
100 void CancelFormula();
102 public:
103 SwInputWindow( Window* pParent, SfxBindings* pBindings );
104 virtual ~SwInputWindow();
106 virtual void DataChanged( const DataChangedEvent& rDCEvt );
108 void SelectHdl( ToolBox*);
110 void ShowWin();
112 BOOL IsActive(){ return bActive; };
114 DECL_LINK( SelTblCellsNotify, SwWrtShell * );
116 void SetFormula( const String& rFormula, BOOL bDelSel = TRUE );
117 const SwView* GetView() const{return pView;}
120 class SwInputChild : public SfxChildWindow
122 BOOL bObjVis;
123 SfxDispatcher* pDispatch;
124 public:
125 SwInputChild( Window* ,
126 USHORT nId,
127 SfxBindings*,
128 SfxChildWinInfo* );
129 ~SwInputChild();
130 SFX_DECL_CHILDWINDOW( SwInputChild );
131 void SetFormula( const String& rFormula, BOOL bDelSel = TRUE )
132 { ((SwInputWindow*)pWindow)->SetFormula(
133 rFormula, bDelSel ); }
134 const SwView* GetView() const{return ((SwInputWindow*)pWindow)->GetView();}
138 //==================================================================
140 #endif