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_QUERYVIEW_TEXT_HXX
27*b1cdbd2cSJim Jagielski #include "QueryTextView.hxx"
28*b1cdbd2cSJim Jagielski #endif
29*b1cdbd2cSJim Jagielski #ifndef DBAUI_QUERYCONTAINERWINDOW_HXX
30*b1cdbd2cSJim Jagielski #include "querycontainerwindow.hxx"
31*b1cdbd2cSJim Jagielski #endif
32*b1cdbd2cSJim Jagielski #ifndef DBAUI_QUERYVIEWSWITCH_HXX
33*b1cdbd2cSJim Jagielski #include "QueryViewSwitch.hxx"
34*b1cdbd2cSJim Jagielski #endif
35*b1cdbd2cSJim Jagielski #ifndef DBAUI_SQLEDIT_HXX
36*b1cdbd2cSJim Jagielski #include "sqledit.hxx"
37*b1cdbd2cSJim Jagielski #endif
38*b1cdbd2cSJim Jagielski #ifndef DBAUI_UNDOSQLEDIT_HXX
39*b1cdbd2cSJim Jagielski #include "undosqledit.hxx"
40*b1cdbd2cSJim Jagielski #endif
41*b1cdbd2cSJim Jagielski #ifndef DBACCESS_UI_BROWSER_ID_HXX
42*b1cdbd2cSJim Jagielski #include "browserids.hxx"
43*b1cdbd2cSJim Jagielski #endif
44*b1cdbd2cSJim Jagielski #ifndef DBAUI_QUERYCONTROLLER_HXX
45*b1cdbd2cSJim Jagielski #include "querycontroller.hxx"
46*b1cdbd2cSJim Jagielski #endif
47*b1cdbd2cSJim Jagielski #ifndef _DBU_QRY_HRC_
48*b1cdbd2cSJim Jagielski #include "dbu_qry.hrc"
49*b1cdbd2cSJim Jagielski #endif
50*b1cdbd2cSJim Jagielski #ifndef DBACCESS_SHARED_DBUSTRINGS_HRC
51*b1cdbd2cSJim Jagielski #include "dbustrings.hrc"
52*b1cdbd2cSJim Jagielski #endif
53*b1cdbd2cSJim Jagielski #ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
54*b1cdbd2cSJim Jagielski #include <toolkit/unohlp.hxx>
55*b1cdbd2cSJim Jagielski #endif
56*b1cdbd2cSJim Jagielski #ifndef _SV_SPLIT_HXX
57*b1cdbd2cSJim Jagielski #include <vcl/split.hxx>
58*b1cdbd2cSJim Jagielski #endif
59*b1cdbd2cSJim Jagielski #ifndef _SV_SVAPP_HXX
60*b1cdbd2cSJim Jagielski #include <vcl/svapp.hxx>
61*b1cdbd2cSJim Jagielski #endif
62*b1cdbd2cSJim Jagielski #ifndef _COMPHELPER_TYPES_HXX_
63*b1cdbd2cSJim Jagielski #include <comphelper/types.hxx>
64*b1cdbd2cSJim Jagielski #endif
65*b1cdbd2cSJim Jagielski #ifndef DBAUI_QUERYDESIGNVIEW_HXX
66*b1cdbd2cSJim Jagielski #include "QueryDesignView.hxx"
67*b1cdbd2cSJim Jagielski #endif
68*b1cdbd2cSJim Jagielski 
69*b1cdbd2cSJim Jagielski using namespace dbaui;
70*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::uno;
71*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::lang;
72*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::frame;
73*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
74*b1cdbd2cSJim Jagielski 
75*b1cdbd2cSJim Jagielski // end of temp classes
76*b1cdbd2cSJim Jagielski // -------------------------------------------------------------------------
DBG_NAME(OQueryTextView)77*b1cdbd2cSJim Jagielski DBG_NAME(OQueryTextView)
78*b1cdbd2cSJim Jagielski OQueryTextView::OQueryTextView(OQueryContainerWindow* _pParent)
79*b1cdbd2cSJim Jagielski 	:Window(_pParent)
80*b1cdbd2cSJim Jagielski {
81*b1cdbd2cSJim Jagielski 	DBG_CTOR(OQueryTextView,NULL);
82*b1cdbd2cSJim Jagielski 	m_pEdit = new OSqlEdit(this);
83*b1cdbd2cSJim Jagielski 	m_pEdit->SetRightToLeft(sal_False);
84*b1cdbd2cSJim Jagielski 	m_pEdit->ClearModifyFlag();
85*b1cdbd2cSJim Jagielski 	m_pEdit->SaveValue();
86*b1cdbd2cSJim Jagielski 	m_pEdit->SetPosPixel( Point( 0, 0 ) );
87*b1cdbd2cSJim Jagielski 	m_pEdit->Show();
88*b1cdbd2cSJim Jagielski 	//	m_pEdit->GrabFocus();
89*b1cdbd2cSJim Jagielski }
90*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
~OQueryTextView()91*b1cdbd2cSJim Jagielski OQueryTextView::~OQueryTextView()
92*b1cdbd2cSJim Jagielski {
93*b1cdbd2cSJim Jagielski 	DBG_DTOR(OQueryTextView,NULL);
94*b1cdbd2cSJim Jagielski 	::std::auto_ptr<Window> aTemp(m_pEdit);
95*b1cdbd2cSJim Jagielski 	m_pEdit = NULL;
96*b1cdbd2cSJim Jagielski }
97*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
GetFocus()98*b1cdbd2cSJim Jagielski void OQueryTextView::GetFocus()
99*b1cdbd2cSJim Jagielski {
100*b1cdbd2cSJim Jagielski 	if ( m_pEdit )
101*b1cdbd2cSJim Jagielski 		m_pEdit->GrabFocus();
102*b1cdbd2cSJim Jagielski }
103*b1cdbd2cSJim Jagielski // -------------------------------------------------------------------------
Resize()104*b1cdbd2cSJim Jagielski void OQueryTextView::Resize()
105*b1cdbd2cSJim Jagielski {
106*b1cdbd2cSJim Jagielski 	Window::Resize();
107*b1cdbd2cSJim Jagielski 	m_pEdit->SetSizePixel( GetOutputSizePixel() );
108*b1cdbd2cSJim Jagielski }
109*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
110*b1cdbd2cSJim Jagielski // check if the statement is correct when not returning false
checkStatement()111*b1cdbd2cSJim Jagielski sal_Bool OQueryTextView::checkStatement()
112*b1cdbd2cSJim Jagielski {
113*b1cdbd2cSJim Jagielski 	return sal_True;
114*b1cdbd2cSJim Jagielski }
115*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
getStatement()116*b1cdbd2cSJim Jagielski ::rtl::OUString OQueryTextView::getStatement()
117*b1cdbd2cSJim Jagielski {
118*b1cdbd2cSJim Jagielski 	return m_pEdit->GetText();
119*b1cdbd2cSJim Jagielski }
120*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
setReadOnly(sal_Bool _bReadOnly)121*b1cdbd2cSJim Jagielski void OQueryTextView::setReadOnly(sal_Bool _bReadOnly)
122*b1cdbd2cSJim Jagielski {
123*b1cdbd2cSJim Jagielski 	m_pEdit->SetReadOnly(_bReadOnly);
124*b1cdbd2cSJim Jagielski }
125*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
clear()126*b1cdbd2cSJim Jagielski void OQueryTextView::clear()
127*b1cdbd2cSJim Jagielski {
128*b1cdbd2cSJim Jagielski 	OSqlEditUndoAct* pUndoAct = new OSqlEditUndoAct( m_pEdit );
129*b1cdbd2cSJim Jagielski 
130*b1cdbd2cSJim Jagielski 	pUndoAct->SetOriginalText( m_pEdit->GetText() );
131*b1cdbd2cSJim Jagielski 	getContainerWindow()->getDesignView()->getController().addUndoActionAndInvalidate( pUndoAct );
132*b1cdbd2cSJim Jagielski 
133*b1cdbd2cSJim Jagielski 	m_pEdit->SetText(String());
134*b1cdbd2cSJim Jagielski }
135*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
setStatement(const::rtl::OUString & _rsStatement)136*b1cdbd2cSJim Jagielski void OQueryTextView::setStatement(const ::rtl::OUString& _rsStatement)
137*b1cdbd2cSJim Jagielski {
138*b1cdbd2cSJim Jagielski 	m_pEdit->SetText(_rsStatement);
139*b1cdbd2cSJim Jagielski }
140*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
copy()141*b1cdbd2cSJim Jagielski void OQueryTextView::copy()
142*b1cdbd2cSJim Jagielski {
143*b1cdbd2cSJim Jagielski 	if(!m_pEdit->IsInAccelAct() )
144*b1cdbd2cSJim Jagielski 		m_pEdit->Copy();
145*b1cdbd2cSJim Jagielski }
146*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
isCutAllowed()147*b1cdbd2cSJim Jagielski sal_Bool OQueryTextView::isCutAllowed()
148*b1cdbd2cSJim Jagielski {
149*b1cdbd2cSJim Jagielski 	return m_pEdit->GetSelected().Len() != 0;
150*b1cdbd2cSJim Jagielski }
151*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
isPasteAllowed()152*b1cdbd2cSJim Jagielski sal_Bool OQueryTextView::isPasteAllowed()
153*b1cdbd2cSJim Jagielski {
154*b1cdbd2cSJim Jagielski 	return sal_True;
155*b1cdbd2cSJim Jagielski }
156*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
isCopyAllowed()157*b1cdbd2cSJim Jagielski sal_Bool OQueryTextView::isCopyAllowed()
158*b1cdbd2cSJim Jagielski {
159*b1cdbd2cSJim Jagielski 	return sal_True;
160*b1cdbd2cSJim Jagielski }
161*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
cut()162*b1cdbd2cSJim Jagielski void OQueryTextView::cut()
163*b1cdbd2cSJim Jagielski {
164*b1cdbd2cSJim Jagielski 	if(!m_pEdit->IsInAccelAct() )
165*b1cdbd2cSJim Jagielski 		m_pEdit->Cut();
166*b1cdbd2cSJim Jagielski 	getContainerWindow()->getDesignView()->getController().setModified(sal_True);
167*b1cdbd2cSJim Jagielski }
168*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
paste()169*b1cdbd2cSJim Jagielski void OQueryTextView::paste()
170*b1cdbd2cSJim Jagielski {
171*b1cdbd2cSJim Jagielski 	if(!m_pEdit->IsInAccelAct() )
172*b1cdbd2cSJim Jagielski 		m_pEdit->Paste();
173*b1cdbd2cSJim Jagielski 	getContainerWindow()->getDesignView()->getController().setModified(sal_True);
174*b1cdbd2cSJim Jagielski }
175*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
176