1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_sw.hxx"
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski #include <string> // HACK: prevent conflict between STLPORT and Workshop headers
30*b1cdbd2cSJim Jagielski #include <svl/eitem.hxx>
31*b1cdbd2cSJim Jagielski #include <svx/htmlmode.hxx>
32*b1cdbd2cSJim Jagielski #include <sfx2/dispatch.hxx>
33*b1cdbd2cSJim Jagielski #include <sfx2/bindings.hxx>
34*b1cdbd2cSJim Jagielski #ifndef _SFX_IMAGEMGR_HXX
35*b1cdbd2cSJim Jagielski #include <sfx2/imagemgr.hxx>
36*b1cdbd2cSJim Jagielski #endif
37*b1cdbd2cSJim Jagielski #include <swmodule.hxx>
38*b1cdbd2cSJim Jagielski #ifndef _VIEW_HXX
39*b1cdbd2cSJim Jagielski #include <view.hxx>
40*b1cdbd2cSJim Jagielski #endif
41*b1cdbd2cSJim Jagielski #include <initui.hxx>
42*b1cdbd2cSJim Jagielski #include <viewopt.hxx>
43*b1cdbd2cSJim Jagielski #ifndef _DOCSH_HXX
44*b1cdbd2cSJim Jagielski #include <docsh.hxx>
45*b1cdbd2cSJim Jagielski #endif
46*b1cdbd2cSJim Jagielski #include <gloshdl.hxx>
47*b1cdbd2cSJim Jagielski #include <glosdoc.hxx>
48*b1cdbd2cSJim Jagielski #include <gloslst.hxx>
49*b1cdbd2cSJim Jagielski #include <workctrl.hxx>
50*b1cdbd2cSJim Jagielski #ifndef _WORKCTRL_HRC
51*b1cdbd2cSJim Jagielski #include <workctrl.hrc>
52*b1cdbd2cSJim Jagielski #endif
53*b1cdbd2cSJim Jagielski #ifndef _CMDID_H
54*b1cdbd2cSJim Jagielski #include <cmdid.h>
55*b1cdbd2cSJim Jagielski #endif
56*b1cdbd2cSJim Jagielski #ifndef _HELPID_H
57*b1cdbd2cSJim Jagielski #include <helpid.h>
58*b1cdbd2cSJim Jagielski #endif
59*b1cdbd2cSJim Jagielski #include <wrtsh.hxx>
60*b1cdbd2cSJim Jagielski #include <svl/imageitm.hxx>
61*b1cdbd2cSJim Jagielski #include <vcl/lstbox.hxx>
62*b1cdbd2cSJim Jagielski #include <rtl/ustring.hxx>
63*b1cdbd2cSJim Jagielski #include "swabstdlg.hxx"
64*b1cdbd2cSJim Jagielski #include <misc.hrc>
65*b1cdbd2cSJim Jagielski
66*b1cdbd2cSJim Jagielski #include <vcl/svapp.hxx>
67*b1cdbd2cSJim Jagielski
68*b1cdbd2cSJim Jagielski //JP 14.01.99: Size Abpruefung
69*b1cdbd2cSJim Jagielski #define NAVI_ENTRIES 20
70*b1cdbd2cSJim Jagielski #if NAVI_ENTRIES != NID_COUNT
71*b1cdbd2cSJim Jagielski #error SwScrollNaviPopup-CTOR static Array falsche Size. Wurden neue IDs zugefuegt ??
72*b1cdbd2cSJim Jagielski #endif
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim Jagielski using ::rtl::OUString;
75*b1cdbd2cSJim Jagielski using namespace ::com::sun::star;
76*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::uno;
77*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::beans;
78*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::frame;
79*b1cdbd2cSJim Jagielski
80*b1cdbd2cSJim Jagielski SFX_IMPL_TOOLBOX_CONTROL( SwTbxInsertCtrl, SfxImageItem);
81*b1cdbd2cSJim Jagielski SFX_IMPL_TOOLBOX_CONTROL( SwTbxAutoTextCtrl, SfxBoolItem );
82*b1cdbd2cSJim Jagielski
83*b1cdbd2cSJim Jagielski /**********************************************************************
84*b1cdbd2cSJim Jagielski
85*b1cdbd2cSJim Jagielski **********************************************************************/
SwTbxInsertCtrl(sal_uInt16 nSlotId,sal_uInt16 nId,ToolBox & rTbx)86*b1cdbd2cSJim Jagielski SwTbxInsertCtrl::SwTbxInsertCtrl(
87*b1cdbd2cSJim Jagielski sal_uInt16 nSlotId,
88*b1cdbd2cSJim Jagielski sal_uInt16 nId,
89*b1cdbd2cSJim Jagielski ToolBox& rTbx ) :
90*b1cdbd2cSJim Jagielski SfxToolBoxControl( nSlotId, nId, rTbx ),
91*b1cdbd2cSJim Jagielski nLastSlotId(FN_INSERT_CTRL == nSlotId ? FN_INSERT_TABLE : SID_INSERT_DIAGRAM)
92*b1cdbd2cSJim Jagielski {
93*b1cdbd2cSJim Jagielski rTbx.SetItemBits( nId, TIB_DROPDOWN | rTbx.GetItemBits( nId ) );
94*b1cdbd2cSJim Jagielski }
95*b1cdbd2cSJim Jagielski /**********************************************************************
96*b1cdbd2cSJim Jagielski
97*b1cdbd2cSJim Jagielski **********************************************************************/
~SwTbxInsertCtrl()98*b1cdbd2cSJim Jagielski SwTbxInsertCtrl::~SwTbxInsertCtrl()
99*b1cdbd2cSJim Jagielski {
100*b1cdbd2cSJim Jagielski }
101*b1cdbd2cSJim Jagielski
update()102*b1cdbd2cSJim Jagielski void SAL_CALL SwTbxInsertCtrl::update() throw (uno::RuntimeException)
103*b1cdbd2cSJim Jagielski {
104*b1cdbd2cSJim Jagielski ToolBox& rTbx = GetToolBox();
105*b1cdbd2cSJim Jagielski rtl::OUString aSlotURL( RTL_CONSTASCII_USTRINGPARAM( "slot:" ));
106*b1cdbd2cSJim Jagielski aSlotURL += rtl::OUString::valueOf( sal_Int32( nLastSlotId ));
107*b1cdbd2cSJim Jagielski Image aImage = GetImage( m_xFrame,
108*b1cdbd2cSJim Jagielski aSlotURL,
109*b1cdbd2cSJim Jagielski hasBigImages(),
110*b1cdbd2cSJim Jagielski rTbx.GetSettings().GetStyleSettings().GetHighContrastMode() );
111*b1cdbd2cSJim Jagielski
112*b1cdbd2cSJim Jagielski rTbx.SetItemImage(GetId(), aImage);
113*b1cdbd2cSJim Jagielski rTbx.Invalidate();
114*b1cdbd2cSJim Jagielski
115*b1cdbd2cSJim Jagielski SfxToolBoxControl::update();
116*b1cdbd2cSJim Jagielski }
117*b1cdbd2cSJim Jagielski
118*b1cdbd2cSJim Jagielski /**********************************************************************
119*b1cdbd2cSJim Jagielski
120*b1cdbd2cSJim Jagielski **********************************************************************/
121*b1cdbd2cSJim Jagielski
122*b1cdbd2cSJim Jagielski
StateChanged(sal_uInt16,SfxItemState eState,const SfxPoolItem * pState)123*b1cdbd2cSJim Jagielski void SwTbxInsertCtrl::StateChanged( sal_uInt16 /*nSID*/,
124*b1cdbd2cSJim Jagielski SfxItemState eState,
125*b1cdbd2cSJim Jagielski const SfxPoolItem* pState )
126*b1cdbd2cSJim Jagielski {
127*b1cdbd2cSJim Jagielski sal_uInt16 nId = GetId();
128*b1cdbd2cSJim Jagielski GetToolBox().EnableItem( nId, (GetItemState(pState) != SFX_ITEM_DISABLED) );
129*b1cdbd2cSJim Jagielski
130*b1cdbd2cSJim Jagielski if( eState == SFX_ITEM_AVAILABLE )
131*b1cdbd2cSJim Jagielski {
132*b1cdbd2cSJim Jagielski const SfxImageItem* pItem = PTR_CAST( SfxImageItem, pState );
133*b1cdbd2cSJim Jagielski if(pItem)
134*b1cdbd2cSJim Jagielski {
135*b1cdbd2cSJim Jagielski nLastSlotId = pItem->GetValue();
136*b1cdbd2cSJim Jagielski if( nLastSlotId )
137*b1cdbd2cSJim Jagielski nId = nLastSlotId;
138*b1cdbd2cSJim Jagielski
139*b1cdbd2cSJim Jagielski rtl::OUString aSlotURL( RTL_CONSTASCII_USTRINGPARAM( "slot:" ));
140*b1cdbd2cSJim Jagielski aSlotURL += rtl::OUString::valueOf( sal_Int32( nId ));
141*b1cdbd2cSJim Jagielski ToolBox& rBox = GetToolBox();
142*b1cdbd2cSJim Jagielski Image aImage = GetImage( m_xFrame,
143*b1cdbd2cSJim Jagielski aSlotURL,
144*b1cdbd2cSJim Jagielski hasBigImages(),
145*b1cdbd2cSJim Jagielski rBox.GetSettings().GetStyleSettings().GetHighContrastMode() );
146*b1cdbd2cSJim Jagielski rBox.SetItemImage(GetId(), aImage);
147*b1cdbd2cSJim Jagielski rBox.SetItemImageMirrorMode( GetId(), sal_False );
148*b1cdbd2cSJim Jagielski rBox.SetItemImageAngle( GetId(), pItem->GetRotation() );
149*b1cdbd2cSJim Jagielski rBox.SetItemImageMirrorMode( GetId(), pItem->IsMirrored() );
150*b1cdbd2cSJim Jagielski }
151*b1cdbd2cSJim Jagielski }
152*b1cdbd2cSJim Jagielski
153*b1cdbd2cSJim Jagielski }
154*b1cdbd2cSJim Jagielski /**********************************************************************
155*b1cdbd2cSJim Jagielski
156*b1cdbd2cSJim Jagielski **********************************************************************/
157*b1cdbd2cSJim Jagielski
158*b1cdbd2cSJim Jagielski
CreatePopupWindow()159*b1cdbd2cSJim Jagielski SfxPopupWindow* SwTbxInsertCtrl::CreatePopupWindow()
160*b1cdbd2cSJim Jagielski {
161*b1cdbd2cSJim Jagielski if(GetSlotId() == FN_INSERT_CTRL)
162*b1cdbd2cSJim Jagielski {
163*b1cdbd2cSJim Jagielski OUString aToolBarResStr( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/insertbar" ));
164*b1cdbd2cSJim Jagielski createAndPositionSubToolBar( aToolBarResStr );
165*b1cdbd2cSJim Jagielski }
166*b1cdbd2cSJim Jagielski else /* FN_INSERT_OBJ_CTRL */
167*b1cdbd2cSJim Jagielski {
168*b1cdbd2cSJim Jagielski OUString aToolBarResStr( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/insertobjectbar" ));
169*b1cdbd2cSJim Jagielski createAndPositionSubToolBar( aToolBarResStr );
170*b1cdbd2cSJim Jagielski }
171*b1cdbd2cSJim Jagielski return NULL;
172*b1cdbd2cSJim Jagielski }
173*b1cdbd2cSJim Jagielski
174*b1cdbd2cSJim Jagielski /**********************************************************************
175*b1cdbd2cSJim Jagielski
176*b1cdbd2cSJim Jagielski **********************************************************************/
177*b1cdbd2cSJim Jagielski
178*b1cdbd2cSJim Jagielski
GetPopupWindowType() const179*b1cdbd2cSJim Jagielski SfxPopupWindowType SwTbxInsertCtrl::GetPopupWindowType() const
180*b1cdbd2cSJim Jagielski {
181*b1cdbd2cSJim Jagielski return nLastSlotId ? SFX_POPUPWINDOW_ONTIMEOUT : SFX_POPUPWINDOW_ONCLICK;
182*b1cdbd2cSJim Jagielski }
183*b1cdbd2cSJim Jagielski
184*b1cdbd2cSJim Jagielski
185*b1cdbd2cSJim Jagielski /**********************************************************************
186*b1cdbd2cSJim Jagielski
187*b1cdbd2cSJim Jagielski **********************************************************************/
188*b1cdbd2cSJim Jagielski
189*b1cdbd2cSJim Jagielski
Select(sal_Bool)190*b1cdbd2cSJim Jagielski void SwTbxInsertCtrl::Select( sal_Bool /*bMod1*/ )
191*b1cdbd2cSJim Jagielski {
192*b1cdbd2cSJim Jagielski if( nLastSlotId )
193*b1cdbd2cSJim Jagielski {
194*b1cdbd2cSJim Jagielski SfxViewShell* pCurSh( SfxViewShell::Current() );
195*b1cdbd2cSJim Jagielski SfxDispatcher* pDispatch( 0 );
196*b1cdbd2cSJim Jagielski
197*b1cdbd2cSJim Jagielski if ( pCurSh )
198*b1cdbd2cSJim Jagielski {
199*b1cdbd2cSJim Jagielski SfxViewFrame* pViewFrame = pCurSh->GetViewFrame();
200*b1cdbd2cSJim Jagielski if ( pViewFrame )
201*b1cdbd2cSJim Jagielski pDispatch = pViewFrame->GetDispatcher();
202*b1cdbd2cSJim Jagielski }
203*b1cdbd2cSJim Jagielski
204*b1cdbd2cSJim Jagielski if ( pDispatch )
205*b1cdbd2cSJim Jagielski pDispatch->Execute(nLastSlotId);
206*b1cdbd2cSJim Jagielski }
207*b1cdbd2cSJim Jagielski }
208*b1cdbd2cSJim Jagielski
209*b1cdbd2cSJim Jagielski /**********************************************************************
210*b1cdbd2cSJim Jagielski
211*b1cdbd2cSJim Jagielski **********************************************************************/
212*b1cdbd2cSJim Jagielski
213*b1cdbd2cSJim Jagielski
SwTbxAutoTextCtrl(sal_uInt16 nSlotId,sal_uInt16 nId,ToolBox & rTbx)214*b1cdbd2cSJim Jagielski SwTbxAutoTextCtrl::SwTbxAutoTextCtrl(
215*b1cdbd2cSJim Jagielski sal_uInt16 nSlotId,
216*b1cdbd2cSJim Jagielski sal_uInt16 nId,
217*b1cdbd2cSJim Jagielski ToolBox& rTbx ) :
218*b1cdbd2cSJim Jagielski SfxToolBoxControl( nSlotId, nId, rTbx ),
219*b1cdbd2cSJim Jagielski pPopup(0),
220*b1cdbd2cSJim Jagielski pView(0)
221*b1cdbd2cSJim Jagielski {
222*b1cdbd2cSJim Jagielski rTbx.SetItemBits( nId, TIB_DROPDOWN | rTbx.GetItemBits( nId ) );
223*b1cdbd2cSJim Jagielski }
224*b1cdbd2cSJim Jagielski /**********************************************************************
225*b1cdbd2cSJim Jagielski
226*b1cdbd2cSJim Jagielski **********************************************************************/
227*b1cdbd2cSJim Jagielski
228*b1cdbd2cSJim Jagielski
~SwTbxAutoTextCtrl()229*b1cdbd2cSJim Jagielski SwTbxAutoTextCtrl::~SwTbxAutoTextCtrl()
230*b1cdbd2cSJim Jagielski {
231*b1cdbd2cSJim Jagielski DelPopup();
232*b1cdbd2cSJim Jagielski }
233*b1cdbd2cSJim Jagielski
234*b1cdbd2cSJim Jagielski /**********************************************************************
235*b1cdbd2cSJim Jagielski
236*b1cdbd2cSJim Jagielski **********************************************************************/
237*b1cdbd2cSJim Jagielski
238*b1cdbd2cSJim Jagielski
CreatePopupWindow()239*b1cdbd2cSJim Jagielski SfxPopupWindow* SwTbxAutoTextCtrl::CreatePopupWindow()
240*b1cdbd2cSJim Jagielski {
241*b1cdbd2cSJim Jagielski pView = ::GetActiveView();
242*b1cdbd2cSJim Jagielski if(pView && !pView->GetDocShell()->IsReadOnly() &&
243*b1cdbd2cSJim Jagielski !pView->GetWrtShell().HasReadonlySel() )
244*b1cdbd2cSJim Jagielski {
245*b1cdbd2cSJim Jagielski ToolBox& rBox = GetToolBox();
246*b1cdbd2cSJim Jagielski
247*b1cdbd2cSJim Jagielski Rectangle aItemRect( rBox.GetItemRect( GetId() ) );
248*b1cdbd2cSJim Jagielski Point aPt(rBox.OutputToScreenPixel(aItemRect.TopLeft()));
249*b1cdbd2cSJim Jagielski aPt.X() += aItemRect.GetWidth()/2;
250*b1cdbd2cSJim Jagielski aPt.Y() += aItemRect.GetHeight()/2;
251*b1cdbd2cSJim Jagielski if(pView)
252*b1cdbd2cSJim Jagielski {
253*b1cdbd2cSJim Jagielski Link aLnk = LINK(this, SwTbxAutoTextCtrl, PopupHdl);
254*b1cdbd2cSJim Jagielski
255*b1cdbd2cSJim Jagielski if (GetSlotId() == FN_INSERT_FIELD_CTRL)
256*b1cdbd2cSJim Jagielski {
257*b1cdbd2cSJim Jagielski pPopup = new PopupMenu(SW_RES(RID_INSERT_FIELD_CTRL));
258*b1cdbd2cSJim Jagielski pPopup->SetSelectHdl(aLnk);
259*b1cdbd2cSJim Jagielski
260*b1cdbd2cSJim Jagielski if (::GetHtmlMode(pView->GetDocShell()) & HTMLMODE_ON)
261*b1cdbd2cSJim Jagielski {
262*b1cdbd2cSJim Jagielski pPopup->RemoveItem(pPopup->GetItemPos(FN_INSERT_FLD_PGCOUNT));
263*b1cdbd2cSJim Jagielski pPopup->RemoveItem(pPopup->GetItemPos(FN_INSERT_FLD_TOPIC));
264*b1cdbd2cSJim Jagielski }
265*b1cdbd2cSJim Jagielski }
266*b1cdbd2cSJim Jagielski else
267*b1cdbd2cSJim Jagielski {
268*b1cdbd2cSJim Jagielski pPopup = new PopupMenu;
269*b1cdbd2cSJim Jagielski SwGlossaryList* pGlossaryList = ::GetGlossaryList();
270*b1cdbd2cSJim Jagielski sal_uInt16 nGroupCount = pGlossaryList->GetGroupCount();
271*b1cdbd2cSJim Jagielski for(sal_uInt16 i = 1; i <= nGroupCount; i++)
272*b1cdbd2cSJim Jagielski {
273*b1cdbd2cSJim Jagielski // Gruppenname mit Pfad-Extension besorgen
274*b1cdbd2cSJim Jagielski String sTitle;
275*b1cdbd2cSJim Jagielski String sGroupName = pGlossaryList->GetGroupName(i - 1, sal_False, &sTitle);
276*b1cdbd2cSJim Jagielski sal_uInt16 nBlockCount = pGlossaryList->GetBlockCount(i -1);
277*b1cdbd2cSJim Jagielski if(nBlockCount)
278*b1cdbd2cSJim Jagielski {
279*b1cdbd2cSJim Jagielski sal_uInt16 nIndex = 100 * (i);
280*b1cdbd2cSJim Jagielski // aber ohne extension einfuegen
281*b1cdbd2cSJim Jagielski pPopup->InsertItem( i, sTitle);//sGroupName.GetToken(0, GLOS_DELIM));
282*b1cdbd2cSJim Jagielski PopupMenu* pSub = new PopupMenu;
283*b1cdbd2cSJim Jagielski pSub->SetSelectHdl(aLnk);
284*b1cdbd2cSJim Jagielski pPopup->SetPopupMenu(i, pSub);
285*b1cdbd2cSJim Jagielski for(sal_uInt16 j = 0; j < nBlockCount; j++)
286*b1cdbd2cSJim Jagielski {
287*b1cdbd2cSJim Jagielski String sEntry;
288*b1cdbd2cSJim Jagielski String sLongName(pGlossaryList->GetBlockName(i - 1, j, sEntry));
289*b1cdbd2cSJim Jagielski sEntry.AppendAscii(" - ");
290*b1cdbd2cSJim Jagielski sEntry += sLongName;
291*b1cdbd2cSJim Jagielski pSub->InsertItem(++nIndex, sEntry);
292*b1cdbd2cSJim Jagielski }
293*b1cdbd2cSJim Jagielski }
294*b1cdbd2cSJim Jagielski }
295*b1cdbd2cSJim Jagielski }
296*b1cdbd2cSJim Jagielski }
297*b1cdbd2cSJim Jagielski ToolBox* pToolBox = &GetToolBox();
298*b1cdbd2cSJim Jagielski sal_uInt16 nId = GetId();
299*b1cdbd2cSJim Jagielski pToolBox->SetItemDown( nId, sal_True );
300*b1cdbd2cSJim Jagielski
301*b1cdbd2cSJim Jagielski pPopup->Execute( pToolBox, pToolBox->GetItemRect( nId ),
302*b1cdbd2cSJim Jagielski (pToolBox->GetAlign() == WINDOWALIGN_TOP || pToolBox->GetAlign() == WINDOWALIGN_BOTTOM) ?
303*b1cdbd2cSJim Jagielski POPUPMENU_EXECUTE_DOWN : POPUPMENU_EXECUTE_RIGHT );
304*b1cdbd2cSJim Jagielski
305*b1cdbd2cSJim Jagielski pToolBox->SetItemDown( nId, sal_False );
306*b1cdbd2cSJim Jagielski }
307*b1cdbd2cSJim Jagielski GetToolBox().EndSelection();
308*b1cdbd2cSJim Jagielski DelPopup();
309*b1cdbd2cSJim Jagielski return 0;
310*b1cdbd2cSJim Jagielski
311*b1cdbd2cSJim Jagielski }
312*b1cdbd2cSJim Jagielski
313*b1cdbd2cSJim Jagielski
314*b1cdbd2cSJim Jagielski /**********************************************************************
315*b1cdbd2cSJim Jagielski
316*b1cdbd2cSJim Jagielski **********************************************************************/
317*b1cdbd2cSJim Jagielski
318*b1cdbd2cSJim Jagielski
GetPopupWindowType() const319*b1cdbd2cSJim Jagielski SfxPopupWindowType SwTbxAutoTextCtrl::GetPopupWindowType() const
320*b1cdbd2cSJim Jagielski {
321*b1cdbd2cSJim Jagielski return SFX_POPUPWINDOW_ONTIMEOUT;
322*b1cdbd2cSJim Jagielski }
323*b1cdbd2cSJim Jagielski
324*b1cdbd2cSJim Jagielski /**********************************************************************
325*b1cdbd2cSJim Jagielski
326*b1cdbd2cSJim Jagielski **********************************************************************/
327*b1cdbd2cSJim Jagielski
328*b1cdbd2cSJim Jagielski
StateChanged(sal_uInt16 nSID,SfxItemState eState,const SfxPoolItem * pState)329*b1cdbd2cSJim Jagielski void SwTbxAutoTextCtrl::StateChanged( sal_uInt16 nSID,
330*b1cdbd2cSJim Jagielski SfxItemState eState,
331*b1cdbd2cSJim Jagielski const SfxPoolItem* pState )
332*b1cdbd2cSJim Jagielski {
333*b1cdbd2cSJim Jagielski GetToolBox().EnableItem( GetId(), (GetItemState(pState) != SFX_ITEM_DISABLED) );
334*b1cdbd2cSJim Jagielski if(FN_INSERT_FIELD_CTRL == nSID && eState >= SFX_ITEM_DEFAULT)
335*b1cdbd2cSJim Jagielski {
336*b1cdbd2cSJim Jagielski GetToolBox().CheckItem( GetId(), ((SfxBoolItem*)pState)->GetValue() );
337*b1cdbd2cSJim Jagielski }
338*b1cdbd2cSJim Jagielski }
339*b1cdbd2cSJim Jagielski
340*b1cdbd2cSJim Jagielski /**********************************************************************
341*b1cdbd2cSJim Jagielski
342*b1cdbd2cSJim Jagielski **********************************************************************/
343*b1cdbd2cSJim Jagielski
344*b1cdbd2cSJim Jagielski
IMPL_LINK(SwTbxAutoTextCtrl,PopupHdl,PopupMenu *,pMenu)345*b1cdbd2cSJim Jagielski IMPL_LINK(SwTbxAutoTextCtrl, PopupHdl, PopupMenu*, pMenu)
346*b1cdbd2cSJim Jagielski {
347*b1cdbd2cSJim Jagielski sal_uInt16 nId = pMenu->GetCurItemId();
348*b1cdbd2cSJim Jagielski
349*b1cdbd2cSJim Jagielski if ( GetSlotId() == FN_INSERT_FIELD_CTRL)
350*b1cdbd2cSJim Jagielski {
351*b1cdbd2cSJim Jagielski Sequence< PropertyValue > aArgs;
352*b1cdbd2cSJim Jagielski const char* pChar = 0;
353*b1cdbd2cSJim Jagielski switch(nId)
354*b1cdbd2cSJim Jagielski {
355*b1cdbd2cSJim Jagielski case FN_INSERT_FLD_DATE:
356*b1cdbd2cSJim Jagielski pChar = ".uno:InsertDateField";
357*b1cdbd2cSJim Jagielski break;
358*b1cdbd2cSJim Jagielski case FN_INSERT_FLD_TIME:
359*b1cdbd2cSJim Jagielski pChar = ".uno:InsertTimeField";
360*b1cdbd2cSJim Jagielski break;
361*b1cdbd2cSJim Jagielski case FN_INSERT_FLD_PGNUMBER:
362*b1cdbd2cSJim Jagielski pChar = ".uno:InsertPageNumberField";
363*b1cdbd2cSJim Jagielski break;
364*b1cdbd2cSJim Jagielski case FN_INSERT_FLD_PGCOUNT:
365*b1cdbd2cSJim Jagielski pChar = ".uno:InsertPageCountField";
366*b1cdbd2cSJim Jagielski break;
367*b1cdbd2cSJim Jagielski case FN_INSERT_FLD_TOPIC:
368*b1cdbd2cSJim Jagielski pChar = ".uno:InsertTopicField";
369*b1cdbd2cSJim Jagielski break;
370*b1cdbd2cSJim Jagielski case FN_INSERT_FLD_TITLE:
371*b1cdbd2cSJim Jagielski pChar = ".uno:InsertTitleField";
372*b1cdbd2cSJim Jagielski break;
373*b1cdbd2cSJim Jagielski case FN_INSERT_FLD_AUTHOR:
374*b1cdbd2cSJim Jagielski pChar = ".uno:InsertAuthorField";
375*b1cdbd2cSJim Jagielski break;
376*b1cdbd2cSJim Jagielski default:
377*b1cdbd2cSJim Jagielski pChar = ".uno:InsertFieldCtrl";
378*b1cdbd2cSJim Jagielski }
379*b1cdbd2cSJim Jagielski Dispatch( rtl::OUString::createFromAscii( pChar ),aArgs );
380*b1cdbd2cSJim Jagielski }
381*b1cdbd2cSJim Jagielski else
382*b1cdbd2cSJim Jagielski {
383*b1cdbd2cSJim Jagielski sal_uInt16 nBlock = nId / 100;
384*b1cdbd2cSJim Jagielski
385*b1cdbd2cSJim Jagielski SwGlossaryList* pGlossaryList = ::GetGlossaryList();
386*b1cdbd2cSJim Jagielski String sShortName;
387*b1cdbd2cSJim Jagielski String sGroup = pGlossaryList->GetGroupName(nBlock - 1, sal_False);
388*b1cdbd2cSJim Jagielski String sLongName(pGlossaryList->GetBlockName(nBlock - 1, nId - (100 * nBlock) - 1, sShortName));
389*b1cdbd2cSJim Jagielski
390*b1cdbd2cSJim Jagielski SwGlossaryHdl* pGlosHdl = pView->GetGlosHdl();
391*b1cdbd2cSJim Jagielski SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
392*b1cdbd2cSJim Jagielski DBG_ASSERT(pFact, "Dialogdiet fail!");
393*b1cdbd2cSJim Jagielski ::GlossarySetActGroup fnSetActGroup = pFact->SetGlossaryActGroupFunc( DLG_RENAME_GLOS );
394*b1cdbd2cSJim Jagielski if ( fnSetActGroup )
395*b1cdbd2cSJim Jagielski (*fnSetActGroup)( sGroup );
396*b1cdbd2cSJim Jagielski pGlosHdl->SetCurGroup(sGroup, sal_True);
397*b1cdbd2cSJim Jagielski pGlosHdl->InsertGlossary(sShortName);
398*b1cdbd2cSJim Jagielski }
399*b1cdbd2cSJim Jagielski return 0;
400*b1cdbd2cSJim Jagielski }
401*b1cdbd2cSJim Jagielski
402*b1cdbd2cSJim Jagielski /**********************************************************************
403*b1cdbd2cSJim Jagielski
404*b1cdbd2cSJim Jagielski **********************************************************************/
405*b1cdbd2cSJim Jagielski
406*b1cdbd2cSJim Jagielski
DelPopup()407*b1cdbd2cSJim Jagielski void SwTbxAutoTextCtrl::DelPopup()
408*b1cdbd2cSJim Jagielski {
409*b1cdbd2cSJim Jagielski if(pPopup)
410*b1cdbd2cSJim Jagielski {
411*b1cdbd2cSJim Jagielski if (GetSlotId() != FN_INSERT_FIELD_CTRL)
412*b1cdbd2cSJim Jagielski {
413*b1cdbd2cSJim Jagielski for( sal_uInt16 i = 0; i < pPopup->GetItemCount(); i ++ )
414*b1cdbd2cSJim Jagielski {
415*b1cdbd2cSJim Jagielski PopupMenu* pSubPopup = pPopup->GetPopupMenu(pPopup->GetItemId(i));
416*b1cdbd2cSJim Jagielski delete pSubPopup;
417*b1cdbd2cSJim Jagielski }
418*b1cdbd2cSJim Jagielski }
419*b1cdbd2cSJim Jagielski delete pPopup;
420*b1cdbd2cSJim Jagielski pPopup = 0;
421*b1cdbd2cSJim Jagielski }
422*b1cdbd2cSJim Jagielski }
423*b1cdbd2cSJim Jagielski
424*b1cdbd2cSJim Jagielski /*-----------------19.02.97 10.52-------------------
425*b1cdbd2cSJim Jagielski Navigations-Popup
426*b1cdbd2cSJim Jagielski --------------------------------------------------*/
427*b1cdbd2cSJim Jagielski // determine the order of the toolbox items
428*b1cdbd2cSJim Jagielski static sal_uInt16 __READONLY_DATA aNavigationInsertIds[ NAVI_ENTRIES ] =
429*b1cdbd2cSJim Jagielski {
430*b1cdbd2cSJim Jagielski // -- first line
431*b1cdbd2cSJim Jagielski NID_TBL,
432*b1cdbd2cSJim Jagielski NID_FRM,
433*b1cdbd2cSJim Jagielski NID_GRF,
434*b1cdbd2cSJim Jagielski NID_OLE,
435*b1cdbd2cSJim Jagielski NID_PGE,
436*b1cdbd2cSJim Jagielski NID_OUTL,
437*b1cdbd2cSJim Jagielski NID_MARK,
438*b1cdbd2cSJim Jagielski NID_DRW,
439*b1cdbd2cSJim Jagielski NID_CTRL,
440*b1cdbd2cSJim Jagielski NID_PREV,
441*b1cdbd2cSJim Jagielski // -- second line
442*b1cdbd2cSJim Jagielski NID_REG,
443*b1cdbd2cSJim Jagielski NID_BKM,
444*b1cdbd2cSJim Jagielski NID_SEL,
445*b1cdbd2cSJim Jagielski NID_FTN,
446*b1cdbd2cSJim Jagielski NID_POSTIT,
447*b1cdbd2cSJim Jagielski NID_SRCH_REP,
448*b1cdbd2cSJim Jagielski NID_INDEX_ENTRY,
449*b1cdbd2cSJim Jagielski NID_TABLE_FORMULA,
450*b1cdbd2cSJim Jagielski NID_TABLE_FORMULA_ERROR,
451*b1cdbd2cSJim Jagielski NID_NEXT
452*b1cdbd2cSJim Jagielski };
453*b1cdbd2cSJim Jagielski static const char* __READONLY_DATA aNavigationHelpIds[ NAVI_ENTRIES ] =
454*b1cdbd2cSJim Jagielski {
455*b1cdbd2cSJim Jagielski // -- first line
456*b1cdbd2cSJim Jagielski HID_NID_TBL,
457*b1cdbd2cSJim Jagielski HID_NID_FRM,
458*b1cdbd2cSJim Jagielski HID_NID_GRF,
459*b1cdbd2cSJim Jagielski HID_NID_OLE,
460*b1cdbd2cSJim Jagielski HID_NID_PGE,
461*b1cdbd2cSJim Jagielski HID_NID_OUTL,
462*b1cdbd2cSJim Jagielski HID_NID_MARK,
463*b1cdbd2cSJim Jagielski HID_NID_DRW,
464*b1cdbd2cSJim Jagielski HID_NID_CTRL,
465*b1cdbd2cSJim Jagielski HID_NID_PREV,
466*b1cdbd2cSJim Jagielski // -- second line
467*b1cdbd2cSJim Jagielski HID_NID_REG,
468*b1cdbd2cSJim Jagielski HID_NID_BKM,
469*b1cdbd2cSJim Jagielski HID_NID_SEL,
470*b1cdbd2cSJim Jagielski HID_NID_FTN,
471*b1cdbd2cSJim Jagielski HID_NID_POSTIT,
472*b1cdbd2cSJim Jagielski HID_NID_SRCH_REP,
473*b1cdbd2cSJim Jagielski HID_NID_INDEX_ENTRY,
474*b1cdbd2cSJim Jagielski HID_NID_TABLE_FORMULA,
475*b1cdbd2cSJim Jagielski HID_NID_TABLE_FORMULA_ERROR,
476*b1cdbd2cSJim Jagielski HID_NID_NEXT
477*b1cdbd2cSJim Jagielski };
478*b1cdbd2cSJim Jagielski
SwScrollNaviPopup(sal_uInt16 nId,const Reference<XFrame> & rFrame)479*b1cdbd2cSJim Jagielski SwScrollNaviPopup::SwScrollNaviPopup( sal_uInt16 nId, const Reference< XFrame >& rFrame )
480*b1cdbd2cSJim Jagielski : SfxPopupWindow(nId, rFrame, SW_RES(RID_SCROLL_NAVIGATION_WIN) ),
481*b1cdbd2cSJim Jagielski aToolBox(this, 0),
482*b1cdbd2cSJim Jagielski aSeparator(this, SW_RES(FL_SEP)),
483*b1cdbd2cSJim Jagielski aInfoField(this, SW_RES(FI_INFO)),
484*b1cdbd2cSJim Jagielski aIList(SW_RES(IL_VALUES)),
485*b1cdbd2cSJim Jagielski aIListH(SW_RES(ILH_VALUES)),
486*b1cdbd2cSJim Jagielski nFwdId(FN_START_OF_NEXT_PAGE),
487*b1cdbd2cSJim Jagielski nBackId(FN_START_OF_PREV_PAGE)
488*b1cdbd2cSJim Jagielski {
489*b1cdbd2cSJim Jagielski sal_uInt16 i;
490*b1cdbd2cSJim Jagielski
491*b1cdbd2cSJim Jagielski aToolBox.SetHelpId(HID_NAVI_VS);
492*b1cdbd2cSJim Jagielski aToolBox.SetLineCount( 2 );
493*b1cdbd2cSJim Jagielski aToolBox.SetOutStyle(TOOLBOX_STYLE_FLAT);
494*b1cdbd2cSJim Jagielski for( i = 0; i < NID_COUNT; i++)
495*b1cdbd2cSJim Jagielski {
496*b1cdbd2cSJim Jagielski sal_uInt16 nNaviId = aNavigationInsertIds[i];
497*b1cdbd2cSJim Jagielski String sText;
498*b1cdbd2cSJim Jagielski ToolBoxItemBits nTbxBits = 0;
499*b1cdbd2cSJim Jagielski if((NID_PREV != nNaviId) && (NID_NEXT != nNaviId))
500*b1cdbd2cSJim Jagielski {
501*b1cdbd2cSJim Jagielski // -2, there's no string for Next/Prev
502*b1cdbd2cSJim Jagielski sal_uInt16 nResStr = ST_TBL - 2 + nNaviId - NID_START;
503*b1cdbd2cSJim Jagielski sText = String(SW_RES(nResStr));
504*b1cdbd2cSJim Jagielski nTbxBits = TIB_CHECKABLE;
505*b1cdbd2cSJim Jagielski }
506*b1cdbd2cSJim Jagielski else
507*b1cdbd2cSJim Jagielski {
508*b1cdbd2cSJim Jagielski if (nNaviId == NID_PREV)
509*b1cdbd2cSJim Jagielski sText = String(SW_RES(STR_IMGBTN_PGE_UP));
510*b1cdbd2cSJim Jagielski else if (nNaviId == NID_NEXT)
511*b1cdbd2cSJim Jagielski sText = String(SW_RES(STR_IMGBTN_PGE_DOWN));
512*b1cdbd2cSJim Jagielski }
513*b1cdbd2cSJim Jagielski aToolBox.InsertItem(nNaviId, sText, nTbxBits);
514*b1cdbd2cSJim Jagielski aToolBox.SetHelpId( nNaviId, aNavigationHelpIds[i] );
515*b1cdbd2cSJim Jagielski }
516*b1cdbd2cSJim Jagielski ApplyImageList();
517*b1cdbd2cSJim Jagielski aToolBox.InsertBreak(NID_COUNT/2);
518*b1cdbd2cSJim Jagielski // don't call it before!
519*b1cdbd2cSJim Jagielski FreeResource();
520*b1cdbd2cSJim Jagielski
521*b1cdbd2cSJim Jagielski // these are global strings
522*b1cdbd2cSJim Jagielski for( i = 0; i < 2 * NID_COUNT; i++)
523*b1cdbd2cSJim Jagielski {
524*b1cdbd2cSJim Jagielski sQuickHelp[i] = String(SW_RES(STR_IMGBTN_START + i));
525*b1cdbd2cSJim Jagielski }
526*b1cdbd2cSJim Jagielski
527*b1cdbd2cSJim Jagielski Size aImgSize = aIList.GetImageSize();
528*b1cdbd2cSJim Jagielski aImgSize.Width() += 5;
529*b1cdbd2cSJim Jagielski aImgSize.Height() += 5;
530*b1cdbd2cSJim Jagielski Size aSz = aToolBox.CalcWindowSizePixel(2);
531*b1cdbd2cSJim Jagielski aToolBox.SetPosSizePixel( Point(), aSz );
532*b1cdbd2cSJim Jagielski sal_uInt16 nItemId = SwView::GetMoveType();
533*b1cdbd2cSJim Jagielski aInfoField.SetText(aToolBox.GetItemText(nItemId));
534*b1cdbd2cSJim Jagielski aToolBox.CheckItem( nItemId, sal_True );
535*b1cdbd2cSJim Jagielski Size aFTSize(aInfoField.GetSizePixel());
536*b1cdbd2cSJim Jagielski Size aSepSize(aSeparator.GetSizePixel());
537*b1cdbd2cSJim Jagielski aSepSize.Width() = aSz.Width();
538*b1cdbd2cSJim Jagielski
539*b1cdbd2cSJim Jagielski aSz.Height() += aFTSize.Height() + aSepSize.Height();
540*b1cdbd2cSJim Jagielski aInfoField.SetPosSizePixel(
541*b1cdbd2cSJim Jagielski Point(0, aSz.Height() - aFTSize.Height()), Size(aSz.Width(), aFTSize.Height()));
542*b1cdbd2cSJim Jagielski
543*b1cdbd2cSJim Jagielski aSeparator.SetSizePixel(aSepSize);
544*b1cdbd2cSJim Jagielski aSeparator.SetPosPixel(Point(0, aSz.Height() - aFTSize.Height() - aSepSize.Height()));
545*b1cdbd2cSJim Jagielski
546*b1cdbd2cSJim Jagielski SetOutputSizePixel(aSz);
547*b1cdbd2cSJim Jagielski aToolBox.SetSelectHdl(LINK(this, SwScrollNaviPopup, SelectHdl));
548*b1cdbd2cSJim Jagielski aToolBox.StartSelection();
549*b1cdbd2cSJim Jagielski aToolBox.Show();
550*b1cdbd2cSJim Jagielski }
551*b1cdbd2cSJim Jagielski /*-----------------19.02.97 12.45-------------------
552*b1cdbd2cSJim Jagielski
553*b1cdbd2cSJim Jagielski --------------------------------------------------*/
554*b1cdbd2cSJim Jagielski
~SwScrollNaviPopup()555*b1cdbd2cSJim Jagielski SwScrollNaviPopup::~SwScrollNaviPopup()
556*b1cdbd2cSJim Jagielski {
557*b1cdbd2cSJim Jagielski }
558*b1cdbd2cSJim Jagielski /* -----------------------------08.05.2002 14:00------------------------------
559*b1cdbd2cSJim Jagielski
560*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
DataChanged(const DataChangedEvent & rDCEvt)561*b1cdbd2cSJim Jagielski void SwScrollNaviPopup::DataChanged( const DataChangedEvent& rDCEvt )
562*b1cdbd2cSJim Jagielski {
563*b1cdbd2cSJim Jagielski if ( (rDCEvt.GetType() == DATACHANGED_SETTINGS) &&
564*b1cdbd2cSJim Jagielski (rDCEvt.GetFlags() & SETTINGS_STYLE) )
565*b1cdbd2cSJim Jagielski ApplyImageList();
566*b1cdbd2cSJim Jagielski
567*b1cdbd2cSJim Jagielski Window::DataChanged( rDCEvt );
568*b1cdbd2cSJim Jagielski }
569*b1cdbd2cSJim Jagielski /* -----------------------------08.05.2002 14:02------------------------------
570*b1cdbd2cSJim Jagielski
571*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
ApplyImageList()572*b1cdbd2cSJim Jagielski void SwScrollNaviPopup::ApplyImageList()
573*b1cdbd2cSJim Jagielski {
574*b1cdbd2cSJim Jagielski ImageList& rImgLst = aToolBox.GetSettings().GetStyleSettings().GetHighContrastMode() ?
575*b1cdbd2cSJim Jagielski aIListH : aIList;
576*b1cdbd2cSJim Jagielski for(sal_uInt16 i = 0; i < NID_COUNT; i++)
577*b1cdbd2cSJim Jagielski {
578*b1cdbd2cSJim Jagielski sal_uInt16 nNaviId = aNavigationInsertIds[i];
579*b1cdbd2cSJim Jagielski aToolBox.SetItemImage(nNaviId, rImgLst.GetImage(nNaviId));
580*b1cdbd2cSJim Jagielski }
581*b1cdbd2cSJim Jagielski }
582*b1cdbd2cSJim Jagielski /*-----------------19.02.97 13.58-------------------
583*b1cdbd2cSJim Jagielski
584*b1cdbd2cSJim Jagielski --------------------------------------------------*/
585*b1cdbd2cSJim Jagielski
Clone() const586*b1cdbd2cSJim Jagielski SfxPopupWindow* SwScrollNaviPopup::Clone() const
587*b1cdbd2cSJim Jagielski {
588*b1cdbd2cSJim Jagielski return new SwScrollNaviPopup( GetId(), GetFrame() );
589*b1cdbd2cSJim Jagielski }
590*b1cdbd2cSJim Jagielski
591*b1cdbd2cSJim Jagielski /*-----------------19.02.97 14.10-------------------
592*b1cdbd2cSJim Jagielski
593*b1cdbd2cSJim Jagielski --------------------------------------------------*/
594*b1cdbd2cSJim Jagielski
IMPL_LINK(SwScrollNaviPopup,SelectHdl,ToolBox *,pSet)595*b1cdbd2cSJim Jagielski IMPL_LINK(SwScrollNaviPopup, SelectHdl, ToolBox*, pSet)
596*b1cdbd2cSJim Jagielski {
597*b1cdbd2cSJim Jagielski sal_uInt16 nSet = pSet->GetCurItemId();
598*b1cdbd2cSJim Jagielski if( nSet != NID_PREV && nSet != NID_NEXT )
599*b1cdbd2cSJim Jagielski {
600*b1cdbd2cSJim Jagielski SwView::SetMoveType(nSet);
601*b1cdbd2cSJim Jagielski aToolBox.SetItemText(NID_NEXT, sQuickHelp[nSet - NID_START]);
602*b1cdbd2cSJim Jagielski aToolBox.SetItemText(NID_PREV, sQuickHelp[nSet - NID_START + NID_COUNT]);
603*b1cdbd2cSJim Jagielski aInfoField.SetText(aToolBox.GetItemText(nSet));
604*b1cdbd2cSJim Jagielski //check the current button only
605*b1cdbd2cSJim Jagielski for(sal_uInt16 i = 0; i < NID_COUNT; i++)
606*b1cdbd2cSJim Jagielski {
607*b1cdbd2cSJim Jagielski sal_uInt16 nItemId = aToolBox.GetItemId( i );
608*b1cdbd2cSJim Jagielski aToolBox.CheckItem( nItemId, nItemId == nSet );
609*b1cdbd2cSJim Jagielski }
610*b1cdbd2cSJim Jagielski }
611*b1cdbd2cSJim Jagielski else
612*b1cdbd2cSJim Jagielski {
613*b1cdbd2cSJim Jagielski SfxBoolItem aNext(FN_SCROLL_NEXT_PREV, NID_NEXT == nSet);
614*b1cdbd2cSJim Jagielski Any a;
615*b1cdbd2cSJim Jagielski Sequence< PropertyValue > aArgs( 1 );
616*b1cdbd2cSJim Jagielski aArgs[0].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ScrollNextPrev" ));
617*b1cdbd2cSJim Jagielski aNext.QueryValue( a );
618*b1cdbd2cSJim Jagielski aArgs[0].Value = a;
619*b1cdbd2cSJim Jagielski SfxToolBoxControl::Dispatch( Reference< XDispatchProvider >( GetFrame()->getController(), UNO_QUERY ),
620*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:ScrollNextPrev" )),
621*b1cdbd2cSJim Jagielski aArgs );
622*b1cdbd2cSJim Jagielski }
623*b1cdbd2cSJim Jagielski return 0;
624*b1cdbd2cSJim Jagielski }
625*b1cdbd2cSJim Jagielski /*-----------------23.02.97 18.21-------------------
626*b1cdbd2cSJim Jagielski
627*b1cdbd2cSJim Jagielski --------------------------------------------------*/
628*b1cdbd2cSJim Jagielski
MouseButtonUp(const MouseEvent & rMEvt)629*b1cdbd2cSJim Jagielski void SwScrollNaviToolBox::MouseButtonUp( const MouseEvent& rMEvt )
630*b1cdbd2cSJim Jagielski {
631*b1cdbd2cSJim Jagielski ToolBox::MouseButtonUp(rMEvt);
632*b1cdbd2cSJim Jagielski if ( ((SwScrollNaviPopup*)GetParent())->IsInPopupMode() )
633*b1cdbd2cSJim Jagielski ((SwScrollNaviPopup*)GetParent())->EndPopupMode( FLOATWIN_POPUPMODEEND_CLOSEALL );
634*b1cdbd2cSJim Jagielski }
635*b1cdbd2cSJim Jagielski
636*b1cdbd2cSJim Jagielski /*-----------------20.06.97 13:28-------------------
637*b1cdbd2cSJim Jagielski
638*b1cdbd2cSJim Jagielski --------------------------------------------------*/
RequestHelp(const HelpEvent & rHEvt)639*b1cdbd2cSJim Jagielski void SwScrollNaviToolBox::RequestHelp( const HelpEvent& rHEvt )
640*b1cdbd2cSJim Jagielski {
641*b1cdbd2cSJim Jagielski SetItemText(NID_NEXT, SwScrollNaviPopup::GetQuickHelpText(sal_True));
642*b1cdbd2cSJim Jagielski SetItemText(NID_PREV, SwScrollNaviPopup::GetQuickHelpText(sal_False));
643*b1cdbd2cSJim Jagielski ToolBox::RequestHelp( rHEvt );
644*b1cdbd2cSJim Jagielski
645*b1cdbd2cSJim Jagielski }
646*b1cdbd2cSJim Jagielski
647*b1cdbd2cSJim Jagielski /*-----------------20.06.97 13:41-------------------
648*b1cdbd2cSJim Jagielski
649*b1cdbd2cSJim Jagielski --------------------------------------------------*/
GetQuickHelpText(sal_Bool bNext)650*b1cdbd2cSJim Jagielski String SwScrollNaviPopup::GetQuickHelpText(sal_Bool bNext)
651*b1cdbd2cSJim Jagielski {
652*b1cdbd2cSJim Jagielski sal_uInt16 nResId = STR_IMGBTN_START;
653*b1cdbd2cSJim Jagielski nResId += SwView::GetMoveType() - NID_START;
654*b1cdbd2cSJim Jagielski if(!bNext)
655*b1cdbd2cSJim Jagielski nResId += NID_COUNT;
656*b1cdbd2cSJim Jagielski return String(SW_RES(nResId));
657*b1cdbd2cSJim Jagielski }
658*b1cdbd2cSJim Jagielski /* -----------------------------05.09.2002 13:53------------------------------
659*b1cdbd2cSJim Jagielski
660*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
Click()661*b1cdbd2cSJim Jagielski void SwNaviImageButton::Click()
662*b1cdbd2cSJim Jagielski {
663*b1cdbd2cSJim Jagielski // SfxBindings& rBind = SfxViewFrame::Current()->GetBindings();
664*b1cdbd2cSJim Jagielski // rBind.ENTERREGISTRATIONS();
665*b1cdbd2cSJim Jagielski pPopup = new
666*b1cdbd2cSJim Jagielski SwScrollNaviPopup( FN_SCROLL_NAVIGATION,
667*b1cdbd2cSJim Jagielski m_xFrame );
668*b1cdbd2cSJim Jagielski // rBind.LEAVEREGISTRATIONS();
669*b1cdbd2cSJim Jagielski Point aPos = OutputToScreenPixel(Point(0,0));
670*b1cdbd2cSJim Jagielski Rectangle aRect(aPos, GetSizePixel());
671*b1cdbd2cSJim Jagielski SetPopupWindow( pPopup );
672*b1cdbd2cSJim Jagielski pPopup->StartPopupMode(aRect, FLOATWIN_POPUPMODE_LEFT|FLOATWIN_POPUPMODE_ALLOWTEAROFF);
673*b1cdbd2cSJim Jagielski }
674*b1cdbd2cSJim Jagielski
675*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------
676*b1cdbd2cSJim Jagielski
SetPopupWindow(SfxPopupWindow * pWindow)677*b1cdbd2cSJim Jagielski void SwNaviImageButton::SetPopupWindow( SfxPopupWindow* pWindow )
678*b1cdbd2cSJim Jagielski {
679*b1cdbd2cSJim Jagielski pPopupWindow = pWindow;
680*b1cdbd2cSJim Jagielski pPopupWindow->SetPopupModeEndHdl( LINK( this, SwNaviImageButton, PopupModeEndHdl ));
681*b1cdbd2cSJim Jagielski pPopupWindow->SetDeleteLink_Impl( LINK( this, SwNaviImageButton, ClosePopupWindow ));
682*b1cdbd2cSJim Jagielski }
683*b1cdbd2cSJim Jagielski
684*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------
685*b1cdbd2cSJim Jagielski
IMPL_LINK(SwNaviImageButton,PopupModeEndHdl,void *,EMPTYARG)686*b1cdbd2cSJim Jagielski IMPL_LINK( SwNaviImageButton, PopupModeEndHdl, void *, EMPTYARG )
687*b1cdbd2cSJim Jagielski {
688*b1cdbd2cSJim Jagielski if ( pPopupWindow->IsVisible() )
689*b1cdbd2cSJim Jagielski {
690*b1cdbd2cSJim Jagielski // Replace floating window with popup window and destroy
691*b1cdbd2cSJim Jagielski // floating window instance.
692*b1cdbd2cSJim Jagielski delete pFloatingWindow;
693*b1cdbd2cSJim Jagielski pFloatingWindow = pPopupWindow;
694*b1cdbd2cSJim Jagielski pPopupWindow = 0;
695*b1cdbd2cSJim Jagielski }
696*b1cdbd2cSJim Jagielski else
697*b1cdbd2cSJim Jagielski {
698*b1cdbd2cSJim Jagielski // Popup window has been closed by the user. No replacement, instance
699*b1cdbd2cSJim Jagielski // will destroy itself.
700*b1cdbd2cSJim Jagielski pPopupWindow = 0;
701*b1cdbd2cSJim Jagielski }
702*b1cdbd2cSJim Jagielski
703*b1cdbd2cSJim Jagielski return 1;
704*b1cdbd2cSJim Jagielski }
705*b1cdbd2cSJim Jagielski
706*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------
IMPL_LINK(SwNaviImageButton,ClosePopupWindow,SfxPopupWindow *,pWindow)707*b1cdbd2cSJim Jagielski IMPL_LINK( SwNaviImageButton, ClosePopupWindow, SfxPopupWindow *, pWindow )
708*b1cdbd2cSJim Jagielski {
709*b1cdbd2cSJim Jagielski if ( pWindow == pFloatingWindow )
710*b1cdbd2cSJim Jagielski pFloatingWindow = 0;
711*b1cdbd2cSJim Jagielski else
712*b1cdbd2cSJim Jagielski pPopupWindow = 0;
713*b1cdbd2cSJim Jagielski
714*b1cdbd2cSJim Jagielski return 1;
715*b1cdbd2cSJim Jagielski }
716*b1cdbd2cSJim Jagielski
717*b1cdbd2cSJim Jagielski /*-----------------21.02.97 09:41-------------------
718*b1cdbd2cSJim Jagielski
719*b1cdbd2cSJim Jagielski --------------------------------------------------*/
720*b1cdbd2cSJim Jagielski
RequestHelp(const HelpEvent & rHEvt)721*b1cdbd2cSJim Jagielski void SwHlpImageButton::RequestHelp( const HelpEvent& rHEvt )
722*b1cdbd2cSJim Jagielski {
723*b1cdbd2cSJim Jagielski
724*b1cdbd2cSJim Jagielski SetQuickHelpText(SwScrollNaviPopup::GetQuickHelpText(!bUp));
725*b1cdbd2cSJim Jagielski
726*b1cdbd2cSJim Jagielski ImageButton::RequestHelp(rHEvt);
727*b1cdbd2cSJim Jagielski }
728*b1cdbd2cSJim Jagielski
729*b1cdbd2cSJim Jagielski /*-----------------25.02.97 12:38-------------------
730*b1cdbd2cSJim Jagielski
731*b1cdbd2cSJim Jagielski --------------------------------------------------*/
732*b1cdbd2cSJim Jagielski
SwNaviImageButton(Window * pParent,const Reference<XFrame> & rFrame)733*b1cdbd2cSJim Jagielski SwNaviImageButton::SwNaviImageButton(
734*b1cdbd2cSJim Jagielski Window* pParent,
735*b1cdbd2cSJim Jagielski const Reference< XFrame >& rFrame ) :
736*b1cdbd2cSJim Jagielski ImageButton(pParent, SW_RES(BTN_NAVI)),
737*b1cdbd2cSJim Jagielski pPopup(0),
738*b1cdbd2cSJim Jagielski aImage(SW_RES(IMG_BTN)),
739*b1cdbd2cSJim Jagielski aImageH(SW_RES(IMG_BTN_H)),
740*b1cdbd2cSJim Jagielski sQuickText(SW_RES(ST_QUICK)),
741*b1cdbd2cSJim Jagielski pPopupWindow(0),
742*b1cdbd2cSJim Jagielski pFloatingWindow(0),
743*b1cdbd2cSJim Jagielski m_xFrame( rFrame )
744*b1cdbd2cSJim Jagielski {
745*b1cdbd2cSJim Jagielski FreeResource();
746*b1cdbd2cSJim Jagielski SetStyle(GetStyle()|WB_NOPOINTERFOCUS);
747*b1cdbd2cSJim Jagielski SetQuickHelpText(sQuickText);
748*b1cdbd2cSJim Jagielski SetModeImage( GetSettings().GetStyleSettings().GetHighContrastMode() ? aImageH : aImage);
749*b1cdbd2cSJim Jagielski }
750*b1cdbd2cSJim Jagielski /* -----------------------------2002/07/05 9:41-------------------------------
751*b1cdbd2cSJim Jagielski
752*b1cdbd2cSJim Jagielski ---------------------------------------------------------------------------*/
DataChanged(const DataChangedEvent & rDCEvt)753*b1cdbd2cSJim Jagielski void SwNaviImageButton::DataChanged( const DataChangedEvent& rDCEvt )
754*b1cdbd2cSJim Jagielski {
755*b1cdbd2cSJim Jagielski if ( (rDCEvt.GetType() == DATACHANGED_SETTINGS) &&
756*b1cdbd2cSJim Jagielski (rDCEvt.GetFlags() & SETTINGS_STYLE) )
757*b1cdbd2cSJim Jagielski SetModeImage( GetSettings().GetStyleSettings().GetHighContrastMode() ? aImageH : aImage);
758*b1cdbd2cSJim Jagielski
759*b1cdbd2cSJim Jagielski Window::DataChanged( rDCEvt );
760*b1cdbd2cSJim Jagielski }
761*b1cdbd2cSJim Jagielski /* -----------------26.11.2002 09:28-----------------
762*b1cdbd2cSJim Jagielski *
763*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
764*b1cdbd2cSJim Jagielski class SwZoomBox_Impl : public ComboBox
765*b1cdbd2cSJim Jagielski {
766*b1cdbd2cSJim Jagielski sal_uInt16 nSlotId;
767*b1cdbd2cSJim Jagielski sal_Bool bRelease;
768*b1cdbd2cSJim Jagielski uno::Reference< frame::XDispatchProvider > m_xDispatchProvider;
769*b1cdbd2cSJim Jagielski
770*b1cdbd2cSJim Jagielski public:
771*b1cdbd2cSJim Jagielski SwZoomBox_Impl(
772*b1cdbd2cSJim Jagielski Window* pParent,
773*b1cdbd2cSJim Jagielski sal_uInt16 nSlot,
774*b1cdbd2cSJim Jagielski const Reference< XDispatchProvider >& rDispatchProvider );
775*b1cdbd2cSJim Jagielski ~SwZoomBox_Impl();
776*b1cdbd2cSJim Jagielski
777*b1cdbd2cSJim Jagielski protected:
778*b1cdbd2cSJim Jagielski virtual void Select();
779*b1cdbd2cSJim Jagielski virtual long Notify( NotifyEvent& rNEvt );
780*b1cdbd2cSJim Jagielski
781*b1cdbd2cSJim Jagielski void ReleaseFocus();
782*b1cdbd2cSJim Jagielski
783*b1cdbd2cSJim Jagielski };
784*b1cdbd2cSJim Jagielski /* -----------------26.11.2002 09:29-----------------
785*b1cdbd2cSJim Jagielski *
786*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
SwZoomBox_Impl(Window * pParent,sal_uInt16 nSlot,const Reference<XDispatchProvider> & rDispatchProvider)787*b1cdbd2cSJim Jagielski SwZoomBox_Impl::SwZoomBox_Impl(
788*b1cdbd2cSJim Jagielski Window* pParent,
789*b1cdbd2cSJim Jagielski sal_uInt16 nSlot,
790*b1cdbd2cSJim Jagielski const Reference< XDispatchProvider >& rDispatchProvider ):
791*b1cdbd2cSJim Jagielski ComboBox( pParent, SW_RES(RID_PVIEW_ZOOM_LB)),
792*b1cdbd2cSJim Jagielski nSlotId(nSlot),
793*b1cdbd2cSJim Jagielski bRelease(sal_True),
794*b1cdbd2cSJim Jagielski m_xDispatchProvider( rDispatchProvider )
795*b1cdbd2cSJim Jagielski {
796*b1cdbd2cSJim Jagielski EnableAutocomplete( sal_False );
797*b1cdbd2cSJim Jagielski sal_uInt16 aZoomValues[] =
798*b1cdbd2cSJim Jagielski { 25, 50, 75, 100, 150, 200 };
799*b1cdbd2cSJim Jagielski for(sal_uInt16 i = 0; i < sizeof(aZoomValues)/sizeof(sal_uInt16); i++)
800*b1cdbd2cSJim Jagielski {
801*b1cdbd2cSJim Jagielski String sEntry = String::CreateFromInt32(aZoomValues[i]);
802*b1cdbd2cSJim Jagielski sEntry.AppendAscii( " %" );
803*b1cdbd2cSJim Jagielski InsertEntry(sEntry);
804*b1cdbd2cSJim Jagielski }
805*b1cdbd2cSJim Jagielski }
806*b1cdbd2cSJim Jagielski /* -----------------26.11.2002 09:29-----------------
807*b1cdbd2cSJim Jagielski *
808*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
~SwZoomBox_Impl()809*b1cdbd2cSJim Jagielski SwZoomBox_Impl::~SwZoomBox_Impl()
810*b1cdbd2cSJim Jagielski {}
811*b1cdbd2cSJim Jagielski /* -----------------26.11.2002 09:34-----------------
812*b1cdbd2cSJim Jagielski *
813*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
Select()814*b1cdbd2cSJim Jagielski void SwZoomBox_Impl::Select()
815*b1cdbd2cSJim Jagielski {
816*b1cdbd2cSJim Jagielski if ( !IsTravelSelect() )
817*b1cdbd2cSJim Jagielski {
818*b1cdbd2cSJim Jagielski String sEntry(GetText());
819*b1cdbd2cSJim Jagielski sEntry.EraseAllChars( '%' );
820*b1cdbd2cSJim Jagielski sal_uInt16 nZoom = (sal_uInt16)sEntry.ToInt32();
821*b1cdbd2cSJim Jagielski if(nZoom < MINZOOM)
822*b1cdbd2cSJim Jagielski nZoom = MINZOOM;
823*b1cdbd2cSJim Jagielski if(nZoom > MAXZOOM)
824*b1cdbd2cSJim Jagielski nZoom = MAXZOOM;
825*b1cdbd2cSJim Jagielski
826*b1cdbd2cSJim Jagielski SfxUInt16Item aItem( nSlotId, nZoom );
827*b1cdbd2cSJim Jagielski if ( FN_PREVIEW_ZOOM == nSlotId )
828*b1cdbd2cSJim Jagielski {
829*b1cdbd2cSJim Jagielski Any a;
830*b1cdbd2cSJim Jagielski Sequence< PropertyValue > aArgs( 1 );
831*b1cdbd2cSJim Jagielski aArgs[0].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PreviewZoom" ));
832*b1cdbd2cSJim Jagielski aItem.QueryValue( a );
833*b1cdbd2cSJim Jagielski aArgs[0].Value = a;
834*b1cdbd2cSJim Jagielski SfxToolBoxControl::Dispatch(
835*b1cdbd2cSJim Jagielski m_xDispatchProvider,
836*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:PreviewZoom" )),
837*b1cdbd2cSJim Jagielski aArgs );
838*b1cdbd2cSJim Jagielski }
839*b1cdbd2cSJim Jagielski
840*b1cdbd2cSJim Jagielski ReleaseFocus();
841*b1cdbd2cSJim Jagielski }
842*b1cdbd2cSJim Jagielski }
843*b1cdbd2cSJim Jagielski /* -----------------02.12.2002 07:49-----------------
844*b1cdbd2cSJim Jagielski *
845*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
Notify(NotifyEvent & rNEvt)846*b1cdbd2cSJim Jagielski long SwZoomBox_Impl::Notify( NotifyEvent& rNEvt )
847*b1cdbd2cSJim Jagielski {
848*b1cdbd2cSJim Jagielski long nHandled = 0;
849*b1cdbd2cSJim Jagielski
850*b1cdbd2cSJim Jagielski if ( rNEvt.GetType() == EVENT_KEYINPUT )
851*b1cdbd2cSJim Jagielski {
852*b1cdbd2cSJim Jagielski sal_uInt16 nCode = rNEvt.GetKeyEvent()->GetKeyCode().GetCode();
853*b1cdbd2cSJim Jagielski
854*b1cdbd2cSJim Jagielski switch ( nCode )
855*b1cdbd2cSJim Jagielski {
856*b1cdbd2cSJim Jagielski case KEY_RETURN:
857*b1cdbd2cSJim Jagielski case KEY_TAB:
858*b1cdbd2cSJim Jagielski {
859*b1cdbd2cSJim Jagielski if ( KEY_TAB == nCode )
860*b1cdbd2cSJim Jagielski bRelease = sal_False;
861*b1cdbd2cSJim Jagielski else
862*b1cdbd2cSJim Jagielski nHandled = 1;
863*b1cdbd2cSJim Jagielski Select();
864*b1cdbd2cSJim Jagielski break;
865*b1cdbd2cSJim Jagielski }
866*b1cdbd2cSJim Jagielski
867*b1cdbd2cSJim Jagielski case KEY_ESCAPE:
868*b1cdbd2cSJim Jagielski SetText( GetSavedValue() );
869*b1cdbd2cSJim Jagielski ReleaseFocus();
870*b1cdbd2cSJim Jagielski break;
871*b1cdbd2cSJim Jagielski }
872*b1cdbd2cSJim Jagielski }
873*b1cdbd2cSJim Jagielski else if ( EVENT_LOSEFOCUS == rNEvt.GetType() )
874*b1cdbd2cSJim Jagielski {
875*b1cdbd2cSJim Jagielski Window* pFocusWin = Application::GetFocusWindow();
876*b1cdbd2cSJim Jagielski if ( !HasFocus() && GetSubEdit() != pFocusWin )
877*b1cdbd2cSJim Jagielski SetText( GetSavedValue() );
878*b1cdbd2cSJim Jagielski }
879*b1cdbd2cSJim Jagielski
880*b1cdbd2cSJim Jagielski return nHandled ? nHandled : ComboBox::Notify( rNEvt );
881*b1cdbd2cSJim Jagielski }
882*b1cdbd2cSJim Jagielski /* -----------------02.12.2002 07:51-----------------
883*b1cdbd2cSJim Jagielski *
884*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
ReleaseFocus()885*b1cdbd2cSJim Jagielski void SwZoomBox_Impl::ReleaseFocus()
886*b1cdbd2cSJim Jagielski {
887*b1cdbd2cSJim Jagielski if ( !bRelease )
888*b1cdbd2cSJim Jagielski {
889*b1cdbd2cSJim Jagielski bRelease = sal_True;
890*b1cdbd2cSJim Jagielski return;
891*b1cdbd2cSJim Jagielski }
892*b1cdbd2cSJim Jagielski SfxViewShell* pCurSh = SfxViewShell::Current();
893*b1cdbd2cSJim Jagielski
894*b1cdbd2cSJim Jagielski if ( pCurSh )
895*b1cdbd2cSJim Jagielski {
896*b1cdbd2cSJim Jagielski Window* pShellWnd = pCurSh->GetWindow();
897*b1cdbd2cSJim Jagielski
898*b1cdbd2cSJim Jagielski if ( pShellWnd )
899*b1cdbd2cSJim Jagielski pShellWnd->GrabFocus();
900*b1cdbd2cSJim Jagielski }
901*b1cdbd2cSJim Jagielski }
902*b1cdbd2cSJim Jagielski
903*b1cdbd2cSJim Jagielski /* -----------------26.11.2002 09:29-----------------
904*b1cdbd2cSJim Jagielski *
905*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
906*b1cdbd2cSJim Jagielski SFX_IMPL_TOOLBOX_CONTROL( SwPreviewZoomControl, SfxUInt16Item);
907*b1cdbd2cSJim Jagielski
SwPreviewZoomControl(sal_uInt16 nSlotId,sal_uInt16 nId,ToolBox & rTbx)908*b1cdbd2cSJim Jagielski SwPreviewZoomControl::SwPreviewZoomControl(
909*b1cdbd2cSJim Jagielski sal_uInt16 nSlotId,
910*b1cdbd2cSJim Jagielski sal_uInt16 nId,
911*b1cdbd2cSJim Jagielski ToolBox& rTbx) :
912*b1cdbd2cSJim Jagielski SfxToolBoxControl( nSlotId, nId, rTbx )
913*b1cdbd2cSJim Jagielski {
914*b1cdbd2cSJim Jagielski }
915*b1cdbd2cSJim Jagielski /* -----------------26.11.2002 09:29-----------------
916*b1cdbd2cSJim Jagielski *
917*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
~SwPreviewZoomControl()918*b1cdbd2cSJim Jagielski SwPreviewZoomControl::~SwPreviewZoomControl()
919*b1cdbd2cSJim Jagielski {
920*b1cdbd2cSJim Jagielski }
921*b1cdbd2cSJim Jagielski /* -----------------26.11.2002 09:29-----------------
922*b1cdbd2cSJim Jagielski *
923*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
StateChanged(sal_uInt16,SfxItemState eState,const SfxPoolItem * pState)924*b1cdbd2cSJim Jagielski void SwPreviewZoomControl::StateChanged( sal_uInt16 /*nSID*/,
925*b1cdbd2cSJim Jagielski SfxItemState eState,
926*b1cdbd2cSJim Jagielski const SfxPoolItem* pState )
927*b1cdbd2cSJim Jagielski {
928*b1cdbd2cSJim Jagielski sal_uInt16 nId = GetId();
929*b1cdbd2cSJim Jagielski GetToolBox().EnableItem( nId, (GetItemState(pState) != SFX_ITEM_DISABLED) );
930*b1cdbd2cSJim Jagielski SwZoomBox_Impl* pBox = (SwZoomBox_Impl*)GetToolBox().GetItemWindow( GetId() );
931*b1cdbd2cSJim Jagielski if(SFX_ITEM_AVAILABLE <= eState)
932*b1cdbd2cSJim Jagielski {
933*b1cdbd2cSJim Jagielski String sZoom(String::CreateFromInt32(((const SfxUInt16Item*)pState)->GetValue()));
934*b1cdbd2cSJim Jagielski sZoom.AppendAscii( " %" );
935*b1cdbd2cSJim Jagielski pBox->SetText(sZoom);
936*b1cdbd2cSJim Jagielski pBox->SaveValue();
937*b1cdbd2cSJim Jagielski }
938*b1cdbd2cSJim Jagielski }
939*b1cdbd2cSJim Jagielski /* -----------------26.11.2002 09:29-----------------
940*b1cdbd2cSJim Jagielski *
941*b1cdbd2cSJim Jagielski * --------------------------------------------------*/
CreateItemWindow(Window * pParent)942*b1cdbd2cSJim Jagielski Window* SwPreviewZoomControl::CreateItemWindow( Window *pParent )
943*b1cdbd2cSJim Jagielski {
944*b1cdbd2cSJim Jagielski SwZoomBox_Impl* pRet = new SwZoomBox_Impl( pParent, GetSlotId(), Reference< XDispatchProvider >( m_xFrame->getController(), UNO_QUERY ));
945*b1cdbd2cSJim Jagielski return pRet;
946*b1cdbd2cSJim Jagielski }
947