KTextEditor
containerinterface.h
Go to the documentation of this file.
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 2007 Philippe Fremy (phil at freehackers dot org) 00003 Copyright (C) 2008 Joseph Wenninger (jowenn@kde.org) 00004 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License version 2 as published by the Free Software Foundation. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #ifndef KDELIBS_KTEXTEDITOR_CONTAINER_INTERFACE_H 00022 #define KDELIBS_KTEXTEDITOR_CONTAINER_INTERFACE_H 00023 00024 #include <ktexteditor/ktexteditor_export.h> 00025 00026 #include <QtCore/QObject> 00027 00028 namespace KTextEditor 00029 { 00030 00031 class Document; 00032 class View; 00033 00034 00065 class KTEXTEDITOR_EXPORT ContainerInterface 00066 { 00067 public: 00071 ContainerInterface(); 00072 00074 virtual ~ContainerInterface(); 00075 00084 virtual void setContainer( QObject * container ) = 0; 00085 00114 virtual QObject * container() = 0; 00115 }; // class ContainerInterface 00116 00166 class KTEXTEDITOR_EXPORT MdiContainer 00167 { 00168 public: 00169 00171 MdiContainer(); 00172 00174 virtual ~MdiContainer(); 00175 00181 virtual void setActiveView( View * view )=0; 00182 00190 virtual View * activeView()=0; 00191 00212 virtual Document * createDocument()=0; 00213 00229 virtual bool closeDocument( Document * doc )=0; 00230 00248 virtual View * createView( Document * doc )=0; 00249 00260 virtual bool closeView( View * view )=0; 00261 }; // class MdiContainer 00262 00263 00269 class KTEXTEDITOR_EXPORT ViewBarContainer 00270 { 00271 public: 00272 enum Position{LeftBar=0,TopBar=1,RightBar=2,BottomBar=3}; 00274 ViewBarContainer(); 00275 00277 virtual ~ViewBarContainer(); 00278 00283 virtual QWidget* getViewBarParent(View *view,enum Position position)=0; 00284 00289 virtual void addViewBarToLayout(View *view,QWidget *bar,enum Position position)=0; 00290 00293 virtual void showViewBarForView(View *view,enum Position position)=0; 00294 virtual void hideViewBarForView(View *view,enum Position position)=0; 00295 00301 virtual void deleteViewBarForView(View *view,enum Position position)=0; 00302 00303 }; 00304 00305 } // namespace KTextEditor 00306 00307 Q_DECLARE_INTERFACE(KTextEditor::ContainerInterface, "org.kde.KTextEditor.ContainerInterface") 00308 Q_DECLARE_INTERFACE(KTextEditor::MdiContainer, "org.kde.KTextEditor.MdiContainer") 00309 Q_DECLARE_INTERFACE(KTextEditor::ViewBarContainer, "org.kde.KTextEditor.ViewBarContainer") 00310 #endif // KDELIBS_KTEXTEDITOR_CONTAINER_EXTENSION_H
KDE 4.6 API Reference