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_TABLEDESIGNHELPBAR_HXX
27*b1cdbd2cSJim Jagielski #include "TableDesignHelpBar.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 _SVEDIT_HXX
33*b1cdbd2cSJim Jagielski #include <svtools/svmedit.hxx>
34*b1cdbd2cSJim Jagielski #endif
35*b1cdbd2cSJim Jagielski #ifndef _DBA_DBACCESS_HELPID_HRC_
36*b1cdbd2cSJim Jagielski #include "dbaccess_helpid.hrc"
37*b1cdbd2cSJim Jagielski #endif
38*b1cdbd2cSJim Jagielski #include <memory>
39*b1cdbd2cSJim Jagielski using namespace dbaui;
40*b1cdbd2cSJim Jagielski #define STANDARD_MARGIN					6
41*b1cdbd2cSJim Jagielski //==================================================================
42*b1cdbd2cSJim Jagielski // class OTableDesignHelpBar
43*b1cdbd2cSJim Jagielski //==================================================================
DBG_NAME(OTableDesignHelpBar)44*b1cdbd2cSJim Jagielski DBG_NAME(OTableDesignHelpBar)
45*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
46*b1cdbd2cSJim Jagielski OTableDesignHelpBar::OTableDesignHelpBar( Window* pParent ) :
47*b1cdbd2cSJim Jagielski 	 TabPage( pParent, WB_3DLOOK )
48*b1cdbd2cSJim Jagielski {
49*b1cdbd2cSJim Jagielski 	DBG_CTOR(OTableDesignHelpBar,NULL);
50*b1cdbd2cSJim Jagielski 	m_pTextWin = new MultiLineEdit( this, WB_VSCROLL | WB_LEFT | WB_BORDER | WB_NOTABSTOP | WB_READONLY);
51*b1cdbd2cSJim Jagielski 	m_pTextWin->SetHelpId(HID_TABLE_DESIGN_HELP_WINDOW);
52*b1cdbd2cSJim Jagielski 	m_pTextWin->SetReadOnly();
53*b1cdbd2cSJim Jagielski 	m_pTextWin->SetControlBackground( GetSettings().GetStyleSettings().GetFaceColor() );
54*b1cdbd2cSJim Jagielski 	m_pTextWin->Show();
55*b1cdbd2cSJim Jagielski }
56*b1cdbd2cSJim Jagielski 
57*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
~OTableDesignHelpBar()58*b1cdbd2cSJim Jagielski OTableDesignHelpBar::~OTableDesignHelpBar()
59*b1cdbd2cSJim Jagielski {
60*b1cdbd2cSJim Jagielski 	DBG_DTOR(OTableDesignHelpBar,NULL);
61*b1cdbd2cSJim Jagielski 	::std::auto_ptr<Window> aTemp(m_pTextWin);
62*b1cdbd2cSJim Jagielski 	m_pTextWin = NULL;
63*b1cdbd2cSJim Jagielski }
64*b1cdbd2cSJim Jagielski 
65*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
SetHelpText(const String & rText)66*b1cdbd2cSJim Jagielski void OTableDesignHelpBar::SetHelpText( const String& rText )
67*b1cdbd2cSJim Jagielski {
68*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OTableDesignHelpBar,NULL);
69*b1cdbd2cSJim Jagielski 	if(m_pTextWin)
70*b1cdbd2cSJim Jagielski 		m_pTextWin->SetText( rText );
71*b1cdbd2cSJim Jagielski 	Invalidate();
72*b1cdbd2cSJim Jagielski }
73*b1cdbd2cSJim Jagielski 
74*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
Resize()75*b1cdbd2cSJim Jagielski void OTableDesignHelpBar::Resize()
76*b1cdbd2cSJim Jagielski {
77*b1cdbd2cSJim Jagielski 	DBG_CHKTHIS(OTableDesignHelpBar,NULL);
78*b1cdbd2cSJim Jagielski 	//////////////////////////////////////////////////////////////////////
79*b1cdbd2cSJim Jagielski 	// Abmessungen parent window
80*b1cdbd2cSJim Jagielski 	Size aOutputSize( GetOutputSizePixel() );
81*b1cdbd2cSJim Jagielski 
82*b1cdbd2cSJim Jagielski 	//////////////////////////////////////////////////////////////////////
83*b1cdbd2cSJim Jagielski 	// TextWin anpassen
84*b1cdbd2cSJim Jagielski 	if(m_pTextWin)
85*b1cdbd2cSJim Jagielski 		m_pTextWin->SetPosSizePixel( Point(STANDARD_MARGIN+1, STANDARD_MARGIN+1),
86*b1cdbd2cSJim Jagielski 			Size(aOutputSize.Width()-(2*STANDARD_MARGIN)-2,
87*b1cdbd2cSJim Jagielski 				 aOutputSize.Height()-(2*STANDARD_MARGIN)-2) );
88*b1cdbd2cSJim Jagielski 
89*b1cdbd2cSJim Jagielski }
90*b1cdbd2cSJim Jagielski 
91*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
PreNotify(NotifyEvent & rNEvt)92*b1cdbd2cSJim Jagielski long OTableDesignHelpBar::PreNotify( NotifyEvent& rNEvt )
93*b1cdbd2cSJim Jagielski {
94*b1cdbd2cSJim Jagielski 	if (rNEvt.GetType() == EVENT_LOSEFOCUS)
95*b1cdbd2cSJim Jagielski 		SetHelpText(String());
96*b1cdbd2cSJim Jagielski 	return TabPage::PreNotify(rNEvt);
97*b1cdbd2cSJim Jagielski }
98*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
isCopyAllowed()99*b1cdbd2cSJim Jagielski sal_Bool OTableDesignHelpBar::isCopyAllowed()
100*b1cdbd2cSJim Jagielski {
101*b1cdbd2cSJim Jagielski 	return m_pTextWin && m_pTextWin->GetSelected().Len();
102*b1cdbd2cSJim Jagielski }
103*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
isCutAllowed()104*b1cdbd2cSJim Jagielski sal_Bool OTableDesignHelpBar::isCutAllowed()
105*b1cdbd2cSJim Jagielski {
106*b1cdbd2cSJim Jagielski 	return sal_False;
107*b1cdbd2cSJim Jagielski }
108*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
isPasteAllowed()109*b1cdbd2cSJim Jagielski sal_Bool OTableDesignHelpBar::isPasteAllowed()
110*b1cdbd2cSJim Jagielski {
111*b1cdbd2cSJim Jagielski 	return sal_False;
112*b1cdbd2cSJim Jagielski }
113*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
cut()114*b1cdbd2cSJim Jagielski void OTableDesignHelpBar::cut()
115*b1cdbd2cSJim Jagielski {
116*b1cdbd2cSJim Jagielski }
117*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
copy()118*b1cdbd2cSJim Jagielski void OTableDesignHelpBar::copy()
119*b1cdbd2cSJim Jagielski {
120*b1cdbd2cSJim Jagielski 	if ( m_pTextWin )
121*b1cdbd2cSJim Jagielski 		m_pTextWin->Copy();
122*b1cdbd2cSJim Jagielski }
123*b1cdbd2cSJim Jagielski // -----------------------------------------------------------------------------
paste()124*b1cdbd2cSJim Jagielski void OTableDesignHelpBar::paste()
125*b1cdbd2cSJim Jagielski {
126*b1cdbd2cSJim Jagielski }
127