[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdewebdev/kommander
From:       Michal Rudolf <mrudolf () kdewebdev ! org>
Date:       2004-10-02 20:39:59
Message-ID: 20041002203959.9074A9908 () office ! kde ! org
[Download RAW message or body]

CVS commit by mrudolf: 

CCMAIL: kommander-devel@mail.kdewebdev.org
Adds 'execute' command to ScriptObject widget. Now you can invoke such scripts from other scripts, using \
them as some kind of subroutines.


  M +1 -1      executor/dcopkommanderif.h   1.19
  M +7 -0      executor/instance.cpp   1.44
  M +1 -0      executor/instance.h   1.27
  M +1 -0      widget/specials.cpp   1.34
  M +1 -1      widget/specials.h   1.13
  M +12 -3     widgets/scriptobject.cpp   1.12
  M +2 -1      widgets/scriptobject.h   1.13


--- kdewebdev/kommander/executor/dcopkommanderif.h  #1.18:1.19
@@ -62,5 +62,5 @@ virtual QString global(const QString& va
 virtual void setGlobal(const QString& variableName, const QString& value) = 0;
 virtual void setMaximum(const QString &widgetName, int value) = 0;
-  
+virtual void execute(const QString &widgetName) = 0;   
 };
 

--- kdewebdev/kommander/executor/instance.cpp  #1.43:1.44
@@ -419,4 +419,11 @@ void Instance::setMaximum(const QString 
 }
 
+void Instance::execute(const QString &widgetName)
+{
+  QObject* child = stringToWidget(widgetName);  
+  if (kommanderWidget(child))
+    kommanderWidget(child)->handleDCOP(DCOP::execute);
+}
+    
 QString Instance::global(const QString& variableName)
 {

--- kdewebdev/kommander/executor/instance.h  #1.26:1.27
@@ -92,4 +92,5 @@ public: 
   virtual void setGlobal(const QString& variableName, const QString& value);
   virtual void setMaximum(const QString &widgetName, int value);
+  virtual void execute(const QString &widgetName);
    
 public slots:

--- kdewebdev/kommander/widget/specials.cpp  #1.33:1.34
@@ -82,4 +82,5 @@ void SpecialInformation::registerSpecial
   insert(DCOP::setMaximum, "setMaximum(QString widget, int value)",
      i18n("Sets maximum numeric value"), 2);
+  insert(DCOP::execute, "execute(QString widget)", i18n("Executes the script associated with the \
widget."), 1);  
   insertGroup(Group::Kommander, "Kommander");

--- kdewebdev/kommander/widget/specials.h  #1.12:1.13
@@ -31,5 +31,5 @@ namespace Special
       currentItem, item, itemPath, itemDepth, insertItem, insertItems, addUniqueItem, removeItem,
       findItem, clear, setCurrentItem, setPixmap, setChecked, setAssociatedText, 
-      associatedText, type, children, setMaximum, global, setGlobal};
+      associatedText, type, children, setMaximum, global, setGlobal, execute};
   }
 

--- kdewebdev/kommander/widgets/scriptobject.cpp  #1.11:1.12
@@ -92,13 +92,19 @@ void ScriptObject::populate()
 }
 
-void ScriptObject::execute()
+void ScriptObject::executeProcess(bool blocking)
 {
    MyProcess process(this);
+  process.setBlocking(blocking);
    process.run(evalAssociatedText()); 
 }
 
+void ScriptObject::execute()
+{
+  executeProcess(true);
+}
+
 bool ScriptObject::isFunctionSupported(int f)
 {
-  return f == DCOP::setText or f == DCOP::clear;
+  return f == DCOP::setText or f == DCOP::clear or f == DCOP::execute;
 }
 
@@ -112,4 +118,7 @@ QString ScriptObject::handleDCOP(int fun
       setAssociatedText(QString::null);
       break;
+    case DCOP::execute:
+      executeProcess(true);
+      break;
     default:
       break;

--- kdewebdev/kommander/widgets/scriptobject.h  #1.12:1.13
@@ -33,5 +33,5 @@ class ScriptObject : public QLabel, publ
   Q_PROPERTY(QStringList associations READ associatedText WRITE setAssociatedText DESIGNABLE false)
   Q_PROPERTY(bool KommanderWidget READ isKommanderWidget)
-  Q_PROPERTY(QString script READ script WRITE setWidgetText DESIGNABLE false)
+      
 public:
   ScriptObject(QWidget *a_parent, const char *a_name);
@@ -56,4 +56,5 @@ signals:
 
 protected:
+  virtual void executeProcess(bool blocking);
 };
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic