xref: /aoo4110/main/sw/source/ui/cctrl/actctrl.cxx (revision b1cdbd2c)
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 
30*b1cdbd2cSJim Jagielski #include <tools/list.hxx>
31*b1cdbd2cSJim Jagielski #include "actctrl.hxx"
32*b1cdbd2cSJim Jagielski 
33*b1cdbd2cSJim Jagielski 
34*b1cdbd2cSJim Jagielski 
Action()35*b1cdbd2cSJim Jagielski void NumEditAction::Action()
36*b1cdbd2cSJim Jagielski {
37*b1cdbd2cSJim Jagielski 	aActionLink.Call( this );
38*b1cdbd2cSJim Jagielski }
39*b1cdbd2cSJim Jagielski 
40*b1cdbd2cSJim Jagielski 
Notify(NotifyEvent & rNEvt)41*b1cdbd2cSJim Jagielski long NumEditAction::Notify( NotifyEvent& rNEvt )
42*b1cdbd2cSJim Jagielski {
43*b1cdbd2cSJim Jagielski 	long nHandled = 0;
44*b1cdbd2cSJim Jagielski 
45*b1cdbd2cSJim Jagielski 	if ( rNEvt.GetType() == EVENT_KEYINPUT )
46*b1cdbd2cSJim Jagielski 	{
47*b1cdbd2cSJim Jagielski 		const KeyEvent* pKEvt = rNEvt.GetKeyEvent();
48*b1cdbd2cSJim Jagielski 		const KeyCode aKeyCode = pKEvt->GetKeyCode();
49*b1cdbd2cSJim Jagielski 		const sal_uInt16 nModifier = aKeyCode.GetModifier();
50*b1cdbd2cSJim Jagielski 		if( aKeyCode.GetCode() == KEY_RETURN &&
51*b1cdbd2cSJim Jagielski 				!nModifier)
52*b1cdbd2cSJim Jagielski 		{
53*b1cdbd2cSJim Jagielski 			Action();
54*b1cdbd2cSJim Jagielski 			nHandled = 1;
55*b1cdbd2cSJim Jagielski 		}
56*b1cdbd2cSJim Jagielski 
57*b1cdbd2cSJim Jagielski 	}
58*b1cdbd2cSJim Jagielski 	if(!nHandled)
59*b1cdbd2cSJim Jagielski 		NumericField::Notify( rNEvt );
60*b1cdbd2cSJim Jagielski 	return nHandled;
61*b1cdbd2cSJim Jagielski }
62*b1cdbd2cSJim Jagielski 
63*b1cdbd2cSJim Jagielski /*------------------------------------------------------------------------
64*b1cdbd2cSJim Jagielski  Beschreibung:	KeyInput fuer ShortName - Edits ohne Spaces
65*b1cdbd2cSJim Jagielski ------------------------------------------------------------------------*/
66*b1cdbd2cSJim Jagielski 
NoSpaceEdit(Window * pParent,const ResId & rResId)67*b1cdbd2cSJim Jagielski NoSpaceEdit::NoSpaceEdit( Window* pParent, const ResId& rResId)
68*b1cdbd2cSJim Jagielski     : Edit(pParent, rResId),
69*b1cdbd2cSJim Jagielski     sForbiddenChars(String::CreateFromAscii(" "))
70*b1cdbd2cSJim Jagielski {
71*b1cdbd2cSJim Jagielski }
72*b1cdbd2cSJim Jagielski 
~NoSpaceEdit()73*b1cdbd2cSJim Jagielski NoSpaceEdit::~NoSpaceEdit()
74*b1cdbd2cSJim Jagielski {
75*b1cdbd2cSJim Jagielski }
76*b1cdbd2cSJim Jagielski 
KeyInput(const KeyEvent & rEvt)77*b1cdbd2cSJim Jagielski void NoSpaceEdit::KeyInput(const KeyEvent& rEvt)
78*b1cdbd2cSJim Jagielski {
79*b1cdbd2cSJim Jagielski 	sal_Bool bCallParent = sal_True;
80*b1cdbd2cSJim Jagielski 	if(rEvt.GetCharCode())
81*b1cdbd2cSJim Jagielski 	{
82*b1cdbd2cSJim Jagielski 		String sKey = rEvt.GetCharCode();
83*b1cdbd2cSJim Jagielski 		if(	STRING_NOTFOUND != sForbiddenChars.Search(sKey))
84*b1cdbd2cSJim Jagielski 			bCallParent = sal_False;
85*b1cdbd2cSJim Jagielski 	}
86*b1cdbd2cSJim Jagielski 	if(bCallParent)
87*b1cdbd2cSJim Jagielski 		Edit::KeyInput(rEvt);
88*b1cdbd2cSJim Jagielski }
89*b1cdbd2cSJim Jagielski /* -----------------------------11.02.00 15:28--------------------------------
90*b1cdbd2cSJim Jagielski 
91*b1cdbd2cSJim Jagielski  ---------------------------------------------------------------------------*/
Modify()92*b1cdbd2cSJim Jagielski void NoSpaceEdit::Modify()
93*b1cdbd2cSJim Jagielski {
94*b1cdbd2cSJim Jagielski 	Selection aSel = GetSelection();
95*b1cdbd2cSJim Jagielski 	String sTemp = GetText();
96*b1cdbd2cSJim Jagielski 	for(sal_uInt16 i = 0; i < sForbiddenChars.Len(); i++)
97*b1cdbd2cSJim Jagielski 	{
98*b1cdbd2cSJim Jagielski 		sTemp.EraseAllChars( sForbiddenChars.GetChar(i) );
99*b1cdbd2cSJim Jagielski 	}
100*b1cdbd2cSJim Jagielski 	sal_uInt16 nDiff = GetText().Len() - sTemp.Len();
101*b1cdbd2cSJim Jagielski 	if(nDiff)
102*b1cdbd2cSJim Jagielski 	{
103*b1cdbd2cSJim Jagielski 		aSel.setMin(aSel.getMin() - nDiff);
104*b1cdbd2cSJim Jagielski 		aSel.setMax(aSel.getMin());
105*b1cdbd2cSJim Jagielski 		SetText(sTemp);
106*b1cdbd2cSJim Jagielski 		SetSelection(aSel);
107*b1cdbd2cSJim Jagielski 	}
108*b1cdbd2cSJim Jagielski 	Edit::Modify();
109*b1cdbd2cSJim Jagielski 	/*
110*b1cdbd2cSJim Jagielski 	if(GetModifyHdl().IsSet())
111*b1cdbd2cSJim Jagielski 		GetModifyHdl().Call(this);
112*b1cdbd2cSJim Jagielski 		*/
113*b1cdbd2cSJim Jagielski }
114*b1cdbd2cSJim Jagielski /* -----------------25.06.2003 15:57-----------------
115*b1cdbd2cSJim Jagielski 
116*b1cdbd2cSJim Jagielski  --------------------------------------------------*/
~ReturnActionEdit()117*b1cdbd2cSJim Jagielski ReturnActionEdit::~ReturnActionEdit()
118*b1cdbd2cSJim Jagielski {
119*b1cdbd2cSJim Jagielski }
120*b1cdbd2cSJim Jagielski /* -----------------25.06.2003 15:58-----------------
121*b1cdbd2cSJim Jagielski 
122*b1cdbd2cSJim Jagielski  --------------------------------------------------*/
KeyInput(const KeyEvent & rEvt)123*b1cdbd2cSJim Jagielski void ReturnActionEdit::KeyInput( const KeyEvent& rEvt)
124*b1cdbd2cSJim Jagielski {
125*b1cdbd2cSJim Jagielski     const KeyCode aKeyCode = rEvt.GetKeyCode();
126*b1cdbd2cSJim Jagielski     const sal_uInt16 nModifier = aKeyCode.GetModifier();
127*b1cdbd2cSJim Jagielski     if( aKeyCode.GetCode() == KEY_RETURN &&
128*b1cdbd2cSJim Jagielski             !nModifier)
129*b1cdbd2cSJim Jagielski     {
130*b1cdbd2cSJim Jagielski         if(aReturnActionLink.IsSet())
131*b1cdbd2cSJim Jagielski             aReturnActionLink.Call(this);
132*b1cdbd2cSJim Jagielski     }
133*b1cdbd2cSJim Jagielski     else
134*b1cdbd2cSJim Jagielski         Edit::KeyInput(rEvt);
135*b1cdbd2cSJim Jagielski }
136*b1cdbd2cSJim Jagielski 
137*b1cdbd2cSJim Jagielski 
138