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_dbaccess.hxx"
26*b1cdbd2cSJim Jagielski #ifndef DBAUI_TABLEFIELDDESCGENPAGE_HXX
27*b1cdbd2cSJim Jagielski #include "FieldDescGenWin.hxx"
28*b1cdbd2cSJim Jagielski #endif
29*b1cdbd2cSJim Jagielski #ifndef _TOOLS_DEBUG_HXX
30*b1cdbd2cSJim Jagielski #include <tools/debug.hxx>
31*b1cdbd2cSJim Jagielski #endif
32*b1cdbd2cSJim Jagielski #ifndef _DBA_DBACCESS_HELPID_HRC_
33*b1cdbd2cSJim Jagielski #include "dbaccess_helpid.hrc"
34*b1cdbd2cSJim Jagielski #endif
35*b1cdbd2cSJim Jagielski #ifndef DBAUI_TABLEDESIGNHELPBAR_HXX
36*b1cdbd2cSJim Jagielski #include "TableDesignHelpBar.hxx"
37*b1cdbd2cSJim Jagielski #endif
38*b1cdbd2cSJim Jagielski #ifndef DBAUI_TABLEFIELDCONTROL_HXX
39*b1cdbd2cSJim Jagielski #include "TableFieldControl.hxx"
40*b1cdbd2cSJim Jagielski #endif
41*b1cdbd2cSJim Jagielski #ifndef DBAUI_TABLEDESIGNVIEW_HXX
42*b1cdbd2cSJim Jagielski #include "TableDesignView.hxx"
43*b1cdbd2cSJim Jagielski #endif
44*b1cdbd2cSJim Jagielski #ifndef DBAUI_TABLEEDITORCONTROL_HXX
45*b1cdbd2cSJim Jagielski #include "TEditControl.hxx"
46*b1cdbd2cSJim Jagielski #endif
47*b1cdbd2cSJim Jagielski using namespace dbaui;
48*b1cdbd2cSJim Jagielski 
49*b1cdbd2cSJim Jagielski //==================================================================
50*b1cdbd2cSJim Jagielski // class OFieldDescGenWin
51*b1cdbd2cSJim Jagielski //==================================================================
52*b1cdbd2cSJim Jagielski 
DBG_NAME(OFieldDescGenWin)53*b1cdbd2cSJim Jagielski DBG_NAME(OFieldDescGenWin)
54*b1cdbd2cSJim Jagielski //==================================================================
55*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
56*b1cdbd2cSJim Jagielski OFieldDescGenWin::OFieldDescGenWin( Window* pParent, OTableDesignHelpBar* pHelp ) :
57*b1cdbd2cSJim Jagielski 	 TabPage( pParent, WB_3DLOOK | WB_DIALOGCONTROL )
58*b1cdbd2cSJim Jagielski {
59*b1cdbd2cSJim Jagielski 	DBG_CTOR(OFieldDescGenWin,NULL);
60*b1cdbd2cSJim Jagielski 	m_pFieldControl = new OTableFieldControl(this,pHelp);
61*b1cdbd2cSJim Jagielski 	m_pFieldControl->SetHelpId(HID_TAB_DESIGN_FIELDCONTROL);
62*b1cdbd2cSJim Jagielski 	m_pFieldControl->Show();
63*b1cdbd2cSJim Jagielski }
64*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
~OFieldDescGenWin()65*b1cdbd2cSJim Jagielski OFieldDescGenWin::~OFieldDescGenWin()
66*b1cdbd2cSJim Jagielski {
67*b1cdbd2cSJim Jagielski 	DBG_DTOR(OFieldDescGenWin,NULL);
68*b1cdbd2cSJim Jagielski 	::std::auto_ptr<Window> aTemp(m_pFieldControl);
69*b1cdbd2cSJim Jagielski 	m_pFieldControl = NULL;
70*b1cdbd2cSJim Jagielski }
71*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
Init()72*b1cdbd2cSJim Jagielski void OFieldDescGenWin::Init()
73*b1cdbd2cSJim Jagielski {
74*b1cdbd2cSJim Jagielski 	DBG_ASSERT(GetEditorCtrl() != NULL, "OFieldDescGenWin::Init : have no editor control !");
75*b1cdbd2cSJim Jagielski 
76*b1cdbd2cSJim Jagielski 	m_pFieldControl->Init();
77*b1cdbd2cSJim Jagielski }
78*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
Resize()79*b1cdbd2cSJim Jagielski void OFieldDescGenWin::Resize()
80*b1cdbd2cSJim Jagielski {
81*b1cdbd2cSJim Jagielski 	m_pFieldControl->SetPosSizePixel(Point(0,0),GetSizePixel());
82*b1cdbd2cSJim Jagielski 	m_pFieldControl->Resize();
83*b1cdbd2cSJim Jagielski }
84*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
SetReadOnly(sal_Bool bReadOnly)85*b1cdbd2cSJim Jagielski void OFieldDescGenWin::SetReadOnly( sal_Bool bReadOnly )
86*b1cdbd2cSJim Jagielski {
87*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OFieldDescGenWin,NULL);
88*b1cdbd2cSJim Jagielski 
89*b1cdbd2cSJim Jagielski 	m_pFieldControl->SetReadOnly(bReadOnly);
90*b1cdbd2cSJim Jagielski }
91*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
GetControlText(sal_uInt16 nControlId)92*b1cdbd2cSJim Jagielski String OFieldDescGenWin::GetControlText( sal_uInt16 nControlId )
93*b1cdbd2cSJim Jagielski {
94*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OFieldDescGenWin,NULL);
95*b1cdbd2cSJim Jagielski 	return m_pFieldControl->GetControlText(nControlId);
96*b1cdbd2cSJim Jagielski }
97*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
SetControlText(sal_uInt16 nControlId,const String & rText)98*b1cdbd2cSJim Jagielski void OFieldDescGenWin::SetControlText( sal_uInt16 nControlId, const String& rText )
99*b1cdbd2cSJim Jagielski {
100*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OFieldDescGenWin,NULL);
101*b1cdbd2cSJim Jagielski 	//////////////////////////////////////////////////////////////////////
102*b1cdbd2cSJim Jagielski 	// Texte der Controls setzen
103*b1cdbd2cSJim Jagielski 	m_pFieldControl->SetControlText(nControlId,rText);
104*b1cdbd2cSJim Jagielski }
105*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
DisplayData(OFieldDescription * pFieldDescr)106*b1cdbd2cSJim Jagielski void OFieldDescGenWin::DisplayData( OFieldDescription* pFieldDescr )
107*b1cdbd2cSJim Jagielski {
108*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OFieldDescGenWin,NULL);
109*b1cdbd2cSJim Jagielski 
110*b1cdbd2cSJim Jagielski 	m_pFieldControl->DisplayData(pFieldDescr);
111*b1cdbd2cSJim Jagielski }
112*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
113*b1cdbd2cSJim Jagielski #if OSL_DEBUG_LEVEL > 0
GetEditorCtrl()114*b1cdbd2cSJim Jagielski OTableEditorCtrl* OFieldDescGenWin::GetEditorCtrl()
115*b1cdbd2cSJim Jagielski {
116*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OFieldDescGenWin,NULL);
117*b1cdbd2cSJim Jagielski 	OTableDesignView* pDesignWin = static_cast<OTableDesignView*>(GetParent()->GetParent()->GetParent());
118*b1cdbd2cSJim Jagielski 	return pDesignWin->GetEditorCtrl();
119*b1cdbd2cSJim Jagielski }
120*b1cdbd2cSJim Jagielski #endif
121*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
122*b1cdbd2cSJim Jagielski //short OFieldDescGenWin::GetFormatCategory(OFieldDescription* pFieldDescr)
123*b1cdbd2cSJim Jagielski //{
124*b1cdbd2cSJim Jagielski //	return m_pFieldControl->GetFormatCategory(pFieldDescr);
125*b1cdbd2cSJim Jagielski //}
126*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
SaveData(OFieldDescription * pFieldDescr)127*b1cdbd2cSJim Jagielski void OFieldDescGenWin::SaveData( OFieldDescription* pFieldDescr )
128*b1cdbd2cSJim Jagielski {
129*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OFieldDescGenWin,NULL);
130*b1cdbd2cSJim Jagielski 	m_pFieldControl->SaveData(pFieldDescr);
131*b1cdbd2cSJim Jagielski }
132*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
GetFocus()133*b1cdbd2cSJim Jagielski void OFieldDescGenWin::GetFocus()
134*b1cdbd2cSJim Jagielski {
135*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OFieldDescGenWin,NULL);
136*b1cdbd2cSJim Jagielski 	//////////////////////////////////////////////////////////////////////
137*b1cdbd2cSJim Jagielski 	// Setzt den Focus auf das zuletzt aktive Control
138*b1cdbd2cSJim Jagielski 	TabPage::GetFocus();
139*b1cdbd2cSJim Jagielski 	if(m_pFieldControl)
140*b1cdbd2cSJim Jagielski 		m_pFieldControl->GetFocus();
141*b1cdbd2cSJim Jagielski 
142*b1cdbd2cSJim Jagielski }
143*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
LoseFocus()144*b1cdbd2cSJim Jagielski void OFieldDescGenWin::LoseFocus()
145*b1cdbd2cSJim Jagielski {
146*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OFieldDescGenWin,NULL);
147*b1cdbd2cSJim Jagielski 	m_pFieldControl->LoseFocus();
148*b1cdbd2cSJim Jagielski 	TabPage::LoseFocus();
149*b1cdbd2cSJim Jagielski }
150*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
BoolStringPersistent(const String & rUIString) const151*b1cdbd2cSJim Jagielski String OFieldDescGenWin::BoolStringPersistent(const String& rUIString) const
152*b1cdbd2cSJim Jagielski {
153*b1cdbd2cSJim Jagielski 	return m_pFieldControl->BoolStringPersistent(rUIString);
154*b1cdbd2cSJim Jagielski }
155*b1cdbd2cSJim Jagielski 
156*b1cdbd2cSJim Jagielski //------------------------------------------------------------------
BoolStringUI(const String & rPersistentString) const157*b1cdbd2cSJim Jagielski String OFieldDescGenWin::BoolStringUI(const String& rPersistentString) const
158*b1cdbd2cSJim Jagielski {
159*b1cdbd2cSJim Jagielski 	return m_pFieldControl->BoolStringUI(rPersistentString);
160*b1cdbd2cSJim Jagielski }
161*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
isCopyAllowed()162*b1cdbd2cSJim Jagielski sal_Bool OFieldDescGenWin::isCopyAllowed()
163*b1cdbd2cSJim Jagielski {
164*b1cdbd2cSJim Jagielski 	return (m_pFieldControl && m_pFieldControl->isCutAllowed());
165*b1cdbd2cSJim Jagielski }
166*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
isCutAllowed()167*b1cdbd2cSJim Jagielski sal_Bool OFieldDescGenWin::isCutAllowed()
168*b1cdbd2cSJim Jagielski {
169*b1cdbd2cSJim Jagielski 	return (m_pFieldControl && m_pFieldControl->isCutAllowed());
170*b1cdbd2cSJim Jagielski }
171*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
isPasteAllowed()172*b1cdbd2cSJim Jagielski sal_Bool OFieldDescGenWin::isPasteAllowed()
173*b1cdbd2cSJim Jagielski {
174*b1cdbd2cSJim Jagielski 	return (m_pFieldControl && m_pFieldControl->isPasteAllowed());
175*b1cdbd2cSJim Jagielski }
176*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
cut()177*b1cdbd2cSJim Jagielski void OFieldDescGenWin::cut()
178*b1cdbd2cSJim Jagielski {
179*b1cdbd2cSJim Jagielski 	if(m_pFieldControl)
180*b1cdbd2cSJim Jagielski 		m_pFieldControl->cut();
181*b1cdbd2cSJim Jagielski }
182*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
copy()183*b1cdbd2cSJim Jagielski void OFieldDescGenWin::copy()
184*b1cdbd2cSJim Jagielski {
185*b1cdbd2cSJim Jagielski 	if(m_pFieldControl)
186*b1cdbd2cSJim Jagielski 		m_pFieldControl->copy();
187*b1cdbd2cSJim Jagielski }
188*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
paste()189*b1cdbd2cSJim Jagielski void OFieldDescGenWin::paste()
190*b1cdbd2cSJim Jagielski {
191*b1cdbd2cSJim Jagielski 	if(m_pFieldControl)
192*b1cdbd2cSJim Jagielski 		m_pFieldControl->paste();
193*b1cdbd2cSJim Jagielski }
194*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
195*b1cdbd2cSJim Jagielski 
196*b1cdbd2cSJim Jagielski 
197*b1cdbd2cSJim Jagielski 
198*b1cdbd2cSJim Jagielski 
199*b1cdbd2cSJim Jagielski 
200