| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
							- /*=========================================================================
 
-   Library:   CTK
 
-   Copyright (c) Kitware Inc.
 
-   Licensed under the Apache License, Version 2.0 (the "License");
 
-   you may not use this file except in compliance with the License.
 
-   You may obtain a copy of the License at
 
-       http://www.apache.org/licenses/LICENSE-2.0.txt
 
-   Unless required by applicable law or agreed to in writing, software
 
-   distributed under the License is distributed on an "AS IS" BASIS,
 
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
-   See the License for the specific language governing permissions and
 
-   limitations under the License.
 
- =========================================================================*/
 
- #ifndef __ctkLayoutFactory_h
 
- #define __ctkLayoutFactory_h
 
- // Qt includes
 
- #include <QMetaObject>
 
- // CTK includes
 
- #include "ctkLayoutManager.h"
 
- class ctkLayoutFactoryPrivate;
 
- /// \ingroup Widgets
 
- /// This class gives the ability to control externally the
 
- /// instantiation of view widgets by registering view factories.
 
- /// Depending on the view XML element in the layout document, the best
 
- /// registered view factory is being used to create and setup the corresponding
 
- /// widget.
 
- /// \sa ctkLayoutManager, ctkViewFactory
 
- class CTK_WIDGETS_EXPORT ctkLayoutFactory: public ctkLayoutManager
 
- {
 
-   Q_OBJECT
 
- public:
 
-   ctkLayoutFactory(QObject* parent = 0);
 
-   explicit ctkLayoutFactory(QWidget* viewport, QObject* parent);
 
-   virtual ~ctkLayoutFactory();
 
-   using ctkLayoutManager::setLayout;
 
-   using ctkLayoutManager::layout;
 
-   /// Register a view factory.
 
-   /// The factory is prepended to the list of factories.
 
-   /// If the factory has no parent, ctkLayoutManager takes ownership.
 
-   /// Otherwise you should make sure the factory is not deleted until the
 
-   /// factory is unregisted or until the manager is deleted.
 
-   /// \sa unregisterViewFactory(), registerViewFactories()
 
-   void registerViewFactory(ctkLayoutViewFactory* factory);
 
-   /// Unregister a view factory.
 
-   /// If the factory is owned by the ctkLayoutManager, the factory is deleted.
 
-   /// \sa registerViewFactory(), registerViewFactories()
 
-   void unregisterViewFactory(ctkLayoutViewFactory* factory);
 
-   /// Return the list of view factories that are registered.
 
-   /// \sa registerViewFactory(), unregisterViewFactory()
 
-   QList<ctkLayoutViewFactory*> registeredViewFactories()const;
 
- protected:
 
-   /// Call beginSetupLayout() and endSetupLayout() on all the registeredfactories.
 
-   /// \sa setupView()
 
-   virtual void setupLayout();
 
-   /// Find the layoutElement factory and call viewFromXML() on it.
 
-   /// \sa viewsFromXML(), setupView()
 
-   virtual QWidget* viewFromXML(QDomElement layoutElement);
 
-   /// Find the layoutElement factory and call viewsFromXML() on it.
 
-   /// \sa viewFromXML(), setupView()
 
-   virtual QList<QWidget*> viewsFromXML(QDomElement layoutElement);
 
-   /// Find the layoutElement factory and setupView() on it.
 
-   /// \sa viewFromXML(), viewsFromXML()
 
-   virtual void setupView(QDomElement layoutElement, QWidget* view);
 
-   /// Return all the registered factories that can handle the layoutElement.
 
-   QList<ctkLayoutViewFactory*> viewFactories(QDomElement viewElement)const;
 
- private:
 
-   Q_DECLARE_PRIVATE(ctkLayoutFactory);
 
-   Q_DISABLE_COPY(ctkLayoutFactory);
 
- };
 
- #endif
 
 
  |