xref: /trunk/main/dbaccess/inc/dataview.hxx (revision 578c68243c10255d9e286af768bee9c46628b77b)
12e2212a7SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
32e2212a7SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
42e2212a7SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
52e2212a7SAndrew Rist  * distributed with this work for additional information
62e2212a7SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
72e2212a7SAndrew Rist  * to you under the Apache License, Version 2.0 (the
82e2212a7SAndrew Rist  * "License"); you may not use this file except in compliance
92e2212a7SAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
112e2212a7SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
132e2212a7SAndrew Rist  * Unless required by applicable law or agreed to in writing,
142e2212a7SAndrew Rist  * software distributed under the License is distributed on an
152e2212a7SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
162e2212a7SAndrew Rist  * KIND, either express or implied.  See the License for the
172e2212a7SAndrew Rist  * specific language governing permissions and limitations
182e2212a7SAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
202e2212a7SAndrew Rist  *************************************************************/
212e2212a7SAndrew Rist 
22cdf0e10cSrcweir #ifndef DBAUI_DATAVIEW_HXX
23cdf0e10cSrcweir #define DBAUI_DATAVIEW_HXX
24cdf0e10cSrcweir 
25cdf0e10cSrcweir #include "dbaccessdllapi.h"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <com/sun/star/lang/XMultiServiceFactory.hpp>
28cdf0e10cSrcweir #include <svtools/acceleratorexecute.hxx>
29cdf0e10cSrcweir #include <vcl/fixed.hxx>
30cdf0e10cSrcweir 
31cdf0e10cSrcweir #include <memory>
32cdf0e10cSrcweir 
33cdf0e10cSrcweir class FixedLine;
34cdf0e10cSrcweir class SvtMiscOptions;
35cdf0e10cSrcweir namespace dbaui
36cdf0e10cSrcweir {
37cdf0e10cSrcweir     class IController;
38cdf0e10cSrcweir     class DBACCESS_DLLPUBLIC ODataView :    public Window
39cdf0e10cSrcweir     {
40cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >    m_xServiceFactory; // the service factory to work with
41cdf0e10cSrcweir 
42cdf0e10cSrcweir     protected:
43cdf0e10cSrcweir         IController&        m_rController; // the controller in where we resides in
44cdf0e10cSrcweir         FixedLine           m_aSeparator;
45cdf0e10cSrcweir         ::std::auto_ptr< ::svt::AcceleratorExecute> m_pAccel;
46cdf0e10cSrcweir 
47cdf0e10cSrcweir     public:
48cdf0e10cSrcweir         ODataView(  Window* pParent,
49cdf0e10cSrcweir                     IController& _rController,
50cdf0e10cSrcweir                     const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& ,
51cdf0e10cSrcweir                     WinBits nStyle = 0 );
52cdf0e10cSrcweir         virtual ~ODataView();
53cdf0e10cSrcweir 
54*578c6824Smseidel         // late construction
55cdf0e10cSrcweir         virtual void Construct();
56cdf0e10cSrcweir         // initialize will be called when after the controller finished his initialize method
initialize()57cdf0e10cSrcweir         virtual void initialize(){}
58cdf0e10cSrcweir         // window overridables
59cdf0e10cSrcweir         virtual long PreNotify( NotifyEvent& rNEvt );
60cdf0e10cSrcweir         virtual void StateChanged( StateChangedType nStateChange );
61cdf0e10cSrcweir         virtual void DataChanged( const DataChangedEvent& rDCEvt );
62cdf0e10cSrcweir 
getCommandController() const63cdf0e10cSrcweir         inline IController& getCommandController() const { return m_rController; }
64cdf0e10cSrcweir 
65cdf0e10cSrcweir         /** will be called when the controls need to be resized.
66cdf0e10cSrcweir         */
resizeControls(const Size &)67cdf0e10cSrcweir         virtual void resizeControls(const Size& /*_rDiff*/) { Resize(); }
68cdf0e10cSrcweir 
getORB()69cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getORB() { return m_xServiceFactory;}
70cdf0e10cSrcweir 
71cdf0e10cSrcweir         // the default implementation simply calls resizeAll( GetSizePixel() )
72cdf0e10cSrcweir         virtual void Resize();
73cdf0e10cSrcweir 
74cdf0e10cSrcweir         void attachFrame(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _xFrame);
75cdf0e10cSrcweir     protected:
76cdf0e10cSrcweir         // window overridables
77cdf0e10cSrcweir         virtual void Paint( const Rectangle& _rRect );
78cdf0e10cSrcweir 
79*578c6824Smseidel         // re-arrange all controls, including the toolbox, it's separator, and the "real view"
80cdf0e10cSrcweir         virtual void resizeAll( const Rectangle& _rPlayground );
81cdf0e10cSrcweir 
82cdf0e10cSrcweir         // re-arrange the controls belonging to the document itself
83cdf0e10cSrcweir         virtual void resizeDocumentView( Rectangle& _rPlayground );
84cdf0e10cSrcweir     };
85cdf0e10cSrcweir }
86cdf0e10cSrcweir #endif // DBAUI_DATAVIEW_HXX
87*578c6824Smseidel 
88*578c6824Smseidel /* vim: set noet sw=4 ts=4: */
89