1 /*************************************************************************** 2 * * 3 * This program is free software; you can redistribute it and/or modify * 4 * it under the terms of the GNU General Public License as published by * 5 * the Free Software Foundation; either version 3 of the License, or * 6 * (at your option) any later version. * 7 * * 8 ***************************************************************************/ 9 10 #include "ArenaWidget.h" 11 12 #include <QUrl> 13 #include <QFile> 14 #include <QVBoxLayout> 15 16 #include "WulforUtil.h" 17 #include "ArenaWidgetManager.h" 18 operator |(const ArenaWidget::Flags & a,const ArenaWidget::Flags & b)19ArenaWidget::Flags operator|(const ArenaWidget::Flags &a, const ArenaWidget::Flags &b){ 20 return ArenaWidget::Flags(static_cast<unsigned>(a) | static_cast<unsigned>(b)); 21 } 22 operator &(const ArenaWidget::Flags & a,const ArenaWidget::Flags & b)23ArenaWidget::Flags operator&(const ArenaWidget::Flags &a, const ArenaWidget::Flags &b){ 24 return ArenaWidget::Flags(static_cast<unsigned>(a) & static_cast<unsigned>(b)); 25 } 26 operator ^(const ArenaWidget::Flags & a,const ArenaWidget::Flags & b)27ArenaWidget::Flags operator^(const ArenaWidget::Flags &a, const ArenaWidget::Flags &b){ 28 return ArenaWidget::Flags(static_cast<unsigned>(a) ^ static_cast<unsigned>(b)); 29 } 30 operator ~(const ArenaWidget::Flags & a)31ArenaWidget::Flags operator~ ( const ArenaWidget::Flags& a ) { 32 return ArenaWidget::Flags(~(static_cast<unsigned>(a))); 33 } 34 ArenaWidget()35ArenaWidget::ArenaWidget(): _arenaUnload(true), toolBtn(NULL), flags(ArenaWidget::NoFlags | ArenaWidget::RaiseOnStart) 36 { 37 } 38 ~ArenaWidget()39ArenaWidget::~ArenaWidget(){ 40 } 41 ScriptWidget()42ScriptWidget::ScriptWidget(){ 43 _wgt = NULL; 44 _menu = NULL; 45 } 46 ~ScriptWidget()47ScriptWidget::~ScriptWidget(){ 48 } 49 getWidget()50QWidget *ScriptWidget::getWidget(){ return _wgt; } getArenaTitle()51QString ScriptWidget::getArenaTitle() { return _arenaTitle; } getArenaShortTitle()52QString ScriptWidget::getArenaShortTitle() { return _arenaShortTitle; } getMenu()53QMenu *ScriptWidget::getMenu() { return _menu; } getPixmap()54const QPixmap &ScriptWidget::getPixmap() { return pxm; } 55 setWidget(QWidget * wgt)56void ScriptWidget::setWidget(QWidget *wgt) { _wgt = wgt; } setArenaTitle(QString t)57void ScriptWidget::setArenaTitle(QString t) { _arenaTitle = t; } setArenaShortTitle(QString st)58void ScriptWidget::setArenaShortTitle(QString st) { _arenaShortTitle = st; } setMenu(QMenu * _m)59void ScriptWidget::setMenu(QMenu *_m) { _menu = _m; } setPixmap(const QPixmap & px)60void ScriptWidget::setPixmap(const QPixmap &px) { pxm = px; } 61 62 #ifdef USE_QML DeclarativeWidget(const QString & file)63DeclarativeWidget::DeclarativeWidget(const QString &file) : QWidget(NULL) { 64 view = new QDeclarativeView(); 65 view->setSource(QUrl::fromLocalFile(file)); 66 67 setLayout(new QVBoxLayout()); 68 layout()->addWidget(view); 69 } 70 ~DeclarativeWidget()71DeclarativeWidget::~DeclarativeWidget(){ 72 } 73 closeEvent(QCloseEvent * e)74void DeclarativeWidget::closeEvent(QCloseEvent *e){ 75 e->accept(); 76 77 setAttribute(Qt::WA_DeleteOnClose); 78 79 ArenaWidgetManager::getInstance()->rem(this); 80 } 81 getWidget()82QWidget *DeclarativeWidget::getWidget(){ 83 return this; 84 } 85 getArenaTitle()86QString DeclarativeWidget::getArenaTitle(){ 87 QString fname = view->source().toLocalFile(); 88 89 return (fname.right(fname.length()-fname.lastIndexOf(QDir::separator())-1)); 90 } 91 getArenaShortTitle()92QString DeclarativeWidget::getArenaShortTitle(){ 93 return getArenaTitle(); 94 } 95 getMenu()96QMenu *DeclarativeWidget::getMenu(){ 97 return NULL; 98 } 99 getPixmap()100const QPixmap &DeclarativeWidget::getPixmap(){ 101 return WICON(WulforUtil::eiFILETYPE_APPLICATION); 102 } 103 #endif 104