summaryrefslogtreecommitdiff
path: root/toolkit
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2008-03-06 10:42:19 +0000
committerKurt Zenker <kz@openoffice.org>2008-03-06 10:42:19 +0000
commitf8cd96c9c20c7003c9e62297834fadb6cc5ecb2f (patch)
treee31d16ebbd18c1f4090fb192f16c6b2a16b4cf7a /toolkit
parent99424695db45102f334b3222284175381c5fd8ce (diff)
INTEGRATION: CWS layout_DEV300 (1.1.2); FILE ADDED
2008/02/11 15:13:37 jcn 1.1.2.2: Make layout stuff in toolkit build with --enable-layout. 2008/02/08 18:44:43 jcn 1.1.2.1: Initial toolkit import from ee9a2fcc29d7e2f01cc80ef7c13bf7bc7d55ae7e. layout/source/awt -> toolkit/source/awt layout/source/core -> toolkit/source/layout layout/source/wrapper -> toolkit/source/vclcompat layout/inc/layout -> toolkit/inc/layout layout/source/inc -> toolkit/inc/layout layout/workben -> toolkit/workben/layout That's ooo-build trunk r11539 @ ooh680-m5/src680-m245.
Diffstat (limited to 'toolkit')
-rw-r--r--toolkit/source/awt/vclxsplitter.hxx118
-rw-r--r--toolkit/source/awt/vclxtabcontrol.hxx142
2 files changed, 260 insertions, 0 deletions
diff --git a/toolkit/source/awt/vclxsplitter.hxx b/toolkit/source/awt/vclxsplitter.hxx
new file mode 100644
index 000000000000..478d09a6699a
--- /dev/null
+++ b/toolkit/source/awt/vclxsplitter.hxx
@@ -0,0 +1,118 @@
+#ifndef LAYOUT_AWT_VCLXSPLITTER_HXX
+#define LAYOUT_AWT_VCLXSPLITTER_HXX
+
+#ifndef _TOOLKIT_AWT_VCLXWINDOW_HXX_
+#include <toolkit/awt/vclxwindow.hxx>
+#endif
+#ifndef _TOOLKIT_HELPER_LISTENERMULTIPLEXER_HXX_
+#include <toolkit/helper/listenermultiplexer.hxx>
+#endif
+#ifndef _CPPUHELPER_IMPLBASE1_HXX_
+#include <cppuhelper/implbase1.hxx>
+#endif
+#ifndef _COMPHELPER_UNO3_HXX_
+#include <comphelper/uno3.hxx>
+#endif
+#include "../layout/container.hxx"
+
+#include <com/sun/star/awt/MaxChildrenException.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+
+#include "forward.hxx"
+
+class Splitter;
+using namespace toolkit;
+
+//........................................................................
+namespace layoutimpl
+{
+//........................................................................
+
+//====================================================================
+//= VCLXSplitter
+//====================================================================
+
+class VCLXSplitter :public VCLXWindow
+ ,public Container
+{
+public:
+ VCLXSplitter( bool bHorizontal );
+
+protected:
+ ~VCLXSplitter( );
+
+ // XInterface
+ DECLARE_XINTERFACE()
+
+ // XTypeProvider
+ DECLARE_XTYPEPROVIDER()
+
+ // XComponent
+ void SAL_CALL dispose( ) throw(::com::sun::star::uno::RuntimeException);
+
+ // ::com::sun::star::awt::XLayoutContainer
+ virtual void SAL_CALL addChild(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XLayoutConstrains >& Child )
+ throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::awt::MaxChildrenException);
+ virtual void SAL_CALL removeChild( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XLayoutConstrains >& Child )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference
+ < ::com::sun::star::awt::XLayoutConstrains > > SAL_CALL getChildren()
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL allocateArea( const ::com::sun::star::awt::Rectangle &rArea )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::awt::Size SAL_CALL getMinimumSize()
+ throw(::com::sun::star::uno::RuntimeException);
+
+ virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getChildProperties(
+ const css::uno::Reference< css::awt::XLayoutConstrains >& Child )
+ throw (css::uno::RuntimeException);
+
+ // unimplemented:
+ virtual sal_Bool SAL_CALL hasHeightForWidth()
+ throw(css::uno::RuntimeException)
+ { return false; }
+ virtual sal_Int32 SAL_CALL getHeightForWidth( sal_Int32 /*nWidth*/ )
+ throw(css::uno::RuntimeException)
+ { return maRequisition.Height; }
+
+ // VclWindowPeer
+ virtual void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
+
+ // VCLXWindow
+ void ProcessWindowEvent( const VclWindowEvent& _rVclWindowEvent );
+
+private:
+ VCLXSplitter( const VCLXSplitter& ); // never implemented
+ VCLXSplitter& operator=( const VCLXSplitter& ); // never implemented
+
+ // Maps page ids to child references
+ friend class SplitterChildProps;
+ struct ChildData
+ {
+ sal_Bool bShrink;
+
+ css::uno::Reference< css::awt::XLayoutConstrains > xChild;
+ css::uno::Reference< css::beans::XPropertySet > xProps;
+ bool isVisible();
+ };
+ ChildData maChildren[ 2 ]; // some may be null
+
+ float mnHandleRatio;
+ bool mbHandlePressed;
+
+ DECL_LINK( HandleMovedHdl, Splitter* );
+ bool mbHorizontal;
+ Splitter *mpSplitter;
+ void ensureSplitter();
+};
+
+//........................................................................
+} // namespacetoolkit
+//........................................................................
+
+#endif /*LAYOUT_AWT_VCLXSPLITTER_HXX*/
diff --git a/toolkit/source/awt/vclxtabcontrol.hxx b/toolkit/source/awt/vclxtabcontrol.hxx
new file mode 100644
index 000000000000..6fff54ad7d69
--- /dev/null
+++ b/toolkit/source/awt/vclxtabcontrol.hxx
@@ -0,0 +1,142 @@
+#ifndef LAYOUT_AWT_VCLXTABCONTROLLER_HXX
+#define LAYOUT_AWT_VCLXTABCONTROLLER_HXX
+
+#ifndef _TOOLKIT_AWT_VCLXWINDOW_HXX_
+#include <toolkit/awt/vclxwindow.hxx>
+#endif
+#ifndef _TOOLKIT_HELPER_LISTENERMULTIPLEXER_HXX_
+#include <toolkit/helper/listenermultiplexer.hxx>
+#endif
+#ifndef _CPPUHELPER_IMPLBASE1_HXX_
+#include <cppuhelper/implbase1.hxx>
+#endif
+#ifndef _COMPHELPER_UNO3_HXX_
+#include <comphelper/uno3.hxx>
+#endif
+#ifndef _COM_SUN_STAR_AWT_XSIMPLETABCONTROLLER_HPP_
+#include <com/sun/star/awt/XSimpleTabController.hpp>
+#endif
+#include "../layout/container.hxx"
+
+#include <com/sun/star/awt/MaxChildrenException.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+
+#include "forward.hxx"
+
+class TabControl;
+using namespace toolkit;
+
+//........................................................................
+namespace layoutimpl
+{
+//........................................................................
+
+//====================================================================
+//= VCLXTabControl
+//====================================================================
+
+typedef ::cppu::ImplHelper1 < ::com::sun::star::awt::XSimpleTabController
+ > VCLXTabControl_Base;
+
+class VCLXTabControl :public VCLXWindow
+ ,public VCLXTabControl_Base
+ ,public Container
+{
+public:
+ VCLXTabControl();
+
+protected:
+ ~VCLXTabControl( );
+
+ // XInterface
+ DECLARE_XINTERFACE()
+
+ // XTypeProvider
+ DECLARE_XTYPEPROVIDER()
+
+ // XComponent
+ void SAL_CALL dispose( ) throw(::com::sun::star::uno::RuntimeException);
+
+ virtual SAL_CALL void draw( sal_Int32 nX, sal_Int32 nY ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XSimpleTabController
+ virtual ::sal_Int32 SAL_CALL insertTab() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeTab( ::sal_Int32 ID ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL setTabProps( ::sal_Int32 ID, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& Properties ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > SAL_CALL getTabProps( ::sal_Int32 ID ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL activateTab( ::sal_Int32 ID ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL getActiveTabID( ) throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL addTabListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabListener >& Listener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeTabListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabListener >& Listener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // ::com::sun::star::awt::XLayoutContainer
+ virtual void SAL_CALL addChild(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XLayoutConstrains >& Child )
+ throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::awt::MaxChildrenException);
+ virtual void SAL_CALL removeChild( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XLayoutConstrains >& Child )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference
+ < ::com::sun::star::awt::XLayoutConstrains > > SAL_CALL getChildren()
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL allocateArea( const ::com::sun::star::awt::Rectangle &rArea )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::awt::Size SAL_CALL getMinimumSize()
+ throw(::com::sun::star::uno::RuntimeException);
+
+ virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getChildProperties(
+ const css::uno::Reference< css::awt::XLayoutConstrains >& Child )
+ throw (css::uno::RuntimeException);
+
+ // unimplemented:
+ virtual sal_Bool SAL_CALL hasHeightForWidth()
+ throw(css::uno::RuntimeException)
+ { return false; }
+ virtual sal_Int32 SAL_CALL getHeightForWidth( sal_Int32 /*nWidth*/ )
+ throw(css::uno::RuntimeException)
+ { return maRequisition.Height; }
+
+ // VclWindowPeer
+ virtual void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
+
+ // VCLXWindow
+ void ProcessWindowEvent( const VclWindowEvent& _rVclWindowEvent );
+
+private:
+ VCLXTabControl( const VCLXTabControl& ); // never implemented
+ VCLXTabControl& operator=( const VCLXTabControl& ); // never implemented
+
+ // Each tab page needs an unique id.
+ int mnNextTabId;
+
+ // Maps page ids to child references
+ friend class TabChildProps;
+ struct ChildData
+ {
+ rtl::OUString aTitle;
+ css::awt::Size aRequisition;
+ css::uno::Reference< css::awt::XLayoutConstrains > xChild;
+ css::uno::Reference< css::beans::XPropertySet > xProps;
+ bool isVisible();
+ };
+ std::vector< ChildData * > maChildren; // some may be null
+ int mnChildrenNb;
+
+ // FIXME: we might want to use a Multiplexer
+ std::list< ::com::sun::star::uno::Reference
+ < ::com::sun::star::awt::XTabListener > > mxTabListeners;
+
+ inline TabControl *getTabControl( ) const throw (::com::sun::star::uno::RuntimeException);
+};
+
+//........................................................................
+} // namespacetoolkit
+//........................................................................
+
+#endif /*LAYOUT_AWT_VCLXTABCONTROLLER_HXX*/