kdeui Library API Documentation

kmainwindowiface.cpp

00001 /* This file is part of the KDE project 00002 Copyright (C) 2001 Ian Reinhart Geiser <geiseri@yahoo.com> 00003 00004 This program is free software; you can redistribute it and/or 00005 modify it under the terms of the Lesser GNU General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 General Public License for more details. 00013 00014 You should have received a copy of the Lesser GNU General Public License 00015 along with this program; see the file COPYING. If not, write to 00016 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 Boston, MA 02111-1307, USA. 00018 */ 00019 00020 #include "kmainwindowiface.h" 00021 00022 #include <dcopclient.h> 00023 #include <kapplication.h> 00024 #include <kdcopactionproxy.h> 00025 #include <kdcoppropertyproxy.h> 00026 #include <kmainwindow.h> 00027 #include <kaction.h> 00028 #include <qclipboard.h> 00029 00030 00031 KMainWindowInterface::KMainWindowInterface(KMainWindow * mainWindow) 00032 : DCOPObject( mainWindow->name()) 00033 { 00034 m_MainWindow = mainWindow; 00035 m_dcopActionProxy = new KDCOPActionProxy( m_MainWindow->actionCollection(), this ); 00036 m_dcopPropertyProxy = new KDCOPPropertyProxy(m_MainWindow); 00037 } 00038 00039 KMainWindowInterface::~KMainWindowInterface() 00040 { 00041 delete m_dcopActionProxy; 00042 delete m_dcopPropertyProxy; 00043 } 00044 00045 QCStringList KMainWindowInterface::actions() 00046 { 00047 delete m_dcopActionProxy; 00048 m_dcopActionProxy = new KDCOPActionProxy( m_MainWindow->actionCollection(), this ); 00049 QCStringList tmp_actions; 00050 QValueList<KAction *> lst = m_dcopActionProxy->actions(); 00051 QValueList<KAction *>::ConstIterator it = lst.begin(); 00052 QValueList<KAction *>::ConstIterator end = lst.end(); 00053 for (; it != end; ++it ) 00054 if ((*it)->isPlugged()) 00055 tmp_actions.append( (QCString)(*it)->name() ); 00056 return tmp_actions; 00057 } 00058 bool KMainWindowInterface::activateAction( QCString action) 00059 { 00060 delete m_dcopActionProxy; 00061 m_dcopActionProxy = new KDCOPActionProxy( m_MainWindow->actionCollection(), this ); 00062 KAction *tmp_Action = m_dcopActionProxy->action(action); 00063 if (tmp_Action) 00064 { 00065 tmp_Action->activate(); 00066 return true; 00067 } 00068 else 00069 return false; 00070 } 00071 bool KMainWindowInterface::disableAction( QCString action) 00072 { 00073 delete m_dcopActionProxy; 00074 m_dcopActionProxy = new KDCOPActionProxy( m_MainWindow->actionCollection(), this ); 00075 KAction *tmp_Action = m_dcopActionProxy->action(action); 00076 if (tmp_Action) 00077 { 00078 tmp_Action->setEnabled(false); 00079 return true; 00080 } 00081 else 00082 return false; 00083 } 00084 bool KMainWindowInterface::enableAction( QCString action) 00085 { 00086 delete m_dcopActionProxy; 00087 m_dcopActionProxy = new KDCOPActionProxy( m_MainWindow->actionCollection(), this ); 00088 KAction *tmp_Action = m_dcopActionProxy->action(action); 00089 if (tmp_Action) 00090 { 00091 tmp_Action->setEnabled(true); 00092 return true; 00093 } 00094 else 00095 return false; 00096 } 00097 bool KMainWindowInterface::actionIsEnabled( QCString action) 00098 { 00099 delete m_dcopActionProxy; 00100 m_dcopActionProxy = new KDCOPActionProxy( m_MainWindow->actionCollection(), this ); 00101 KAction *tmp_Action = m_dcopActionProxy->action(action); 00102 if (tmp_Action) 00103 { 00104 return tmp_Action->isEnabled(); 00105 } 00106 else 00107 return false; 00108 } 00109 QCString KMainWindowInterface::actionToolTip( QCString action) 00110 { 00111 delete m_dcopActionProxy; 00112 m_dcopActionProxy = new KDCOPActionProxy( m_MainWindow->actionCollection(), this ); 00113 KAction *tmp_Action = m_dcopActionProxy->action(action); 00114 if (tmp_Action) 00115 { 00116 return tmp_Action->toolTip().utf8(); 00117 } 00118 else 00119 return "Error no such object!"; 00120 } 00121 00122 DCOPRef KMainWindowInterface::action( const QCString &name ) 00123 { 00124 return DCOPRef( kapp->dcopClient()->appId(), m_dcopActionProxy->actionObjectId( name ) ); 00125 } 00126 00127 QMap<QCString,DCOPRef> KMainWindowInterface::actionMap() 00128 { 00129 return m_dcopActionProxy->actionMap(); 00130 } 00131 00132 int KMainWindowInterface::getWinID() 00133 { 00134 return (int) m_MainWindow->winId(); 00135 } 00136 void KMainWindowInterface::grabWindowToClipBoard() 00137 { 00138 QClipboard *clipboard = QApplication::clipboard(); 00139 clipboard->setPixmap(QPixmap::grabWidget(m_MainWindow)); 00140 } 00141 void KMainWindowInterface::hide() 00142 { 00143 m_MainWindow->hide(); 00144 } 00145 void KMainWindowInterface::maximize() 00146 { 00147 m_MainWindow->showMaximized(); 00148 } 00149 void KMainWindowInterface::minimize() 00150 { 00151 m_MainWindow->showMinimized(); 00152 } 00153 void KMainWindowInterface::resize(int newX, int newY) 00154 { 00155 m_MainWindow->resize(newX, newY); 00156 } 00157 void KMainWindowInterface::move(int newX, int newY) 00158 { 00159 m_MainWindow->move(newX, newY); 00160 } 00161 void KMainWindowInterface::setGeometry(int newX, int newY, int newWidth, int newHeight) 00162 { 00163 m_MainWindow->setGeometry(newX, newY, newWidth, newHeight); 00164 } 00165 void KMainWindowInterface::raise() 00166 { 00167 m_MainWindow->raise(); 00168 } 00169 void KMainWindowInterface::lower() 00170 { 00171 m_MainWindow->lower(); 00172 } 00173 void KMainWindowInterface::restore() 00174 { 00175 m_MainWindow->showNormal(); 00176 } 00177 void KMainWindowInterface::show() 00178 { 00179 m_MainWindow->show(); 00180 } 00181 QCStringList KMainWindowInterface::functionsDynamic() 00182 { 00183 return m_dcopPropertyProxy->functions(); 00184 } 00185 bool KMainWindowInterface::processDynamic(const QCString &fun, const QByteArray &data, QCString& replyType, QByteArray &replyData) 00186 { 00187 return m_dcopPropertyProxy->processPropertyRequest( fun, data, replyType, replyData); 00188 00189 } 00190
KDE Logo
This file is part of the documentation for kdeui Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 12 15:08:16 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003