[rkward-cvs] SF.net SVN: rkward: [1506] trunk/rkward/rkward

tfry at users.sourceforge.net tfry at users.sourceforge.net
Wed Feb 28 16:38:53 UTC 2007


Revision: 1506
          http://svn.sourceforge.net/rkward/?rev=1506&view=rev
Author:   tfry
Date:     2007-02-28 08:38:53 -0800 (Wed, 28 Feb 2007)

Log Message:
-----------
Make RKCommandLog an RKMDIWindow

Modified Paths:
--------------
    trunk/rkward/rkward/rbackend/rinterface.cpp
    trunk/rkward/rkward/rkward.cpp
    trunk/rkward/rkward/rkward.h
    trunk/rkward/rkward/windows/rkcommandlog.cpp
    trunk/rkward/rkward/windows/rkcommandlog.h

Modified: trunk/rkward/rkward/rbackend/rinterface.cpp
===================================================================
--- trunk/rkward/rkward/rbackend/rinterface.cpp	2007-02-28 16:22:24 UTC (rev 1505)
+++ trunk/rkward/rkward/rbackend/rinterface.cpp	2007-02-28 16:38:53 UTC (rev 1506)
@@ -74,7 +74,6 @@
 	RCommandStack::regular_stack = new RCommandStack ();
 	running_command_canceled = 0;
 
-	RKCommandLog::create ();
 	r_thread = new RThread ();
 
 	flush_timer = new QTimer (this);
@@ -103,7 +102,6 @@
 	}
 	delete r_thread;
 	delete flush_timer;
-	RKCommandLog::destroy ();
 	delete window_catcher;
 }
 

Modified: trunk/rkward/rkward/rkward.cpp
===================================================================
--- trunk/rkward/rkward/rkward.cpp	2007-02-28 16:22:24 UTC (rev 1505)
+++ trunk/rkward/rkward/rkward.cpp	2007-02-28 16:38:53 UTC (rev 1506)
@@ -185,6 +185,12 @@
 	RControlWindowPart *rcpart = new RControlWindowPart ();		// the control window needs to be initialized before startR () is called.
 	RKGlobals::rcontrol = static_cast<RControlWindow *> (rcpart->widget ());
 
+	RKCommandLog *log = new RKCommandLog (0, true, "Command log");
+	log->setIcon (SmallIcon ("text_block"));	
+	log->setToolWrapper (addToolWindow (log, KDockWidget::DockBottom, getMainDockWidget (), 10));
+	RKWorkplace::mainWorkplace ()->registerToolWindow (log);
+	RKCommandLog::rkcommand_log = log;
+
 	startR ();
 
 	QString dummy = i18n ("Please note that RKWard is still far from being finished. We feel it is already helpful for a number of tasks, but many features are lacking or buggy. You can help us by filing bug reports, feature requests, or providing feedback in any other form. Please visit http://rkward.sourceforge.net for contact information.");
@@ -197,12 +203,6 @@
 	object_browser->setIcon(SmallIcon("view_tree"));
 	addToolWindow(object_browser,KDockWidget::DockLeft, getMainDockWidget(), 30 , i18n ("Existing objects in your workspace.") , i18n ("Workspace"));
 	
-	RKCommandLog::getLog ()->setName ("Command log");		// TODO: move to RKCommandLog
-	RKCommandLog::getLog ()->setIcon (SmallIcon ("text_block"));	// TODO: move to RKCommandLog
-	watch_view = addToolWindow (RKCommandLog::getLog (), KDockWidget::DockBottom, getMainDockWidget (), 10);
-	connect (RKCommandLog::getLog (), SIGNAL (raiseWindow ()), this, SLOT (raiseWatch ()));
-	partManager ()->addPart (RKCommandLog::getLog ()->getPart (), false);
-
 	RKGlobals::rcontrol->setCaption (i18n ("Pending Jobs"));
 	RKGlobals::rcontrol->setName ("rcontrol");
 	addToolWindow (RKGlobals::rcontrol, KDockWidget::DockBottom, getMainDockWidget (), 10);
@@ -540,15 +540,6 @@
 	return true;
 }
 
-void RKWardMainWindow::raiseWatch () {
-	RK_TRACE (APP);
-	watch_view->show ();
-	KMdiChildView *window = activeWindow ();
-	if (window) {
-		window->activate ();
-	}
-}
-
 void RKWardMainWindow::invokeRHelp () {
 	RK_TRACE (APP);
 

Modified: trunk/rkward/rkward/rkward.h
===================================================================
--- trunk/rkward/rkward/rkward.h	2007-02-28 16:22:24 UTC (rev 1505)
+++ trunk/rkward/rkward/rkward.h	2007-02-28 16:38:53 UTC (rev 1506)
@@ -134,8 +134,6 @@
 	void reportRKWardBug ();
 	/** not quite sure, why I have to reimplement this from KMainWindow */
 	void showAboutApplication ();
-	/** raises the watch window */
-	void raiseWatch ();
 	/** creates a new (empty) data.frame */
 	void slotNewDataFrame ();
 	/** open a file and load it into the document*/
@@ -221,8 +219,6 @@
 	KAction* window_detach;
 	
 	KAction* configure;
-
-	KMdiToolViewAccessor *watch_view;
 	
 	friend class RKSettingsModule;
 	friend class RKSettingsModulePlugins;

Modified: trunk/rkward/rkward/windows/rkcommandlog.cpp
===================================================================
--- trunk/rkward/rkward/windows/rkcommandlog.cpp	2007-02-28 16:22:24 UTC (rev 1505)
+++ trunk/rkward/rkward/windows/rkcommandlog.cpp	2007-02-28 16:38:53 UTC (rev 1506)
@@ -39,24 +39,9 @@
 //static
 RKCommandLog *RKCommandLog::rkcommand_log = 0;
 
-void RKCommandLog::create () {
+RKCommandLog::RKCommandLog (QWidget *parent, bool tool_window, char *name) : RKMDIWindow (parent, CommandLogWindow, tool_window, name) {
 	RK_TRACE (APP);
-	RK_ASSERT (!rkcommand_log);
 
-	rkcommand_log = new RKCommandLog;
-}
-
-void RKCommandLog::destroy () {
-	RK_TRACE (APP);
-	RK_ASSERT (rkcommand_log);
-
-	delete rkcommand_log;
-	rkcommand_log = 0;
-}
-
-RKCommandLog::RKCommandLog () : KMdiChildView () {
-	RK_TRACE (APP);
-
 	log_view = new RKCommandLogView (this);
 	log_view->setTextFormat (PlainText);
 	log_view->setUndoRedoEnabled (false);
@@ -73,13 +58,17 @@
 	command_input_shown = 0;
 
 	part = new RKCommandLogPart (this);
-//	initializeActivationSignals ();
+	initializeActivationSignals ();
 }
 
 RKCommandLog::~RKCommandLog(){
 	RK_TRACE (APP);
 }
 
+KParts::Part *RKCommandLog::getPart () {
+	return part;
+}
+
 void RKCommandLog::addInput (RCommand *command) {
 	RK_TRACE (APP);
 	if (!RKSettingsModuleWatch::shouldShowInput (command)) return;
@@ -144,7 +133,7 @@
 	if (command->type () & RCommand::Console) return;
 
 	last_raised_command = command->id ();
-	emit (raiseWindow ());
+	activate (false);
 }
 
 void RKCommandLog::newOutput (RCommand *command, ROutput *output_fragment) {

Modified: trunk/rkward/rkward/windows/rkcommandlog.h
===================================================================
--- trunk/rkward/rkward/windows/rkcommandlog.h	2007-02-28 16:22:24 UTC (rev 1505)
+++ trunk/rkward/rkward/windows/rkcommandlog.h	2007-02-28 16:38:53 UTC (rev 1506)
@@ -22,6 +22,7 @@
 #include <qtextedit.h>
 #include <kmdichildview.h>
 
+#include "rkmdiwindow.h"
 #include "../rbackend/rcommandreceiver.h"
 
 class RCommand;
@@ -38,7 +39,7 @@
 @author Thomas Friedrichsmeier
 */
 
-class RKCommandLog : public KMdiChildView, public RCommandReceiver {
+class RKCommandLog : public RKMDIWindow, public RCommandReceiver {
 	Q_OBJECT
 public: 
 /** Adds input to the log_view-window (i.e. commands issued) */
@@ -46,19 +47,14 @@
 /** Adds output to the log_view-window (i.e. replies received) */
 	void newOutput (RCommand *command, ROutput *output_fragment);
 
-	static void create ();
-	static void destroy ();
 	static RKCommandLog *getLog () { return rkcommand_log; };
 
 	RKCommandLogView *getView () { return log_view; };
-	RKCommandLogPart *getPart () { return part; };
-signals:
-/** the log_view emits this, when it should be raised (apparently this can only be done from the main frame) */
-	void raiseWindow ();
+	KParts::Part *getPart ();
 protected:
 /** Command has finished. If the command has failed, it may be necessary to print some more information */
 	void rCommandDone (RCommand *command);
-	RKCommandLog ();
+	RKCommandLog (QWidget *parent, bool tool_window, char *name=0);
 	~RKCommandLog ();
 public slots:
 /** configures the log_view-window */
@@ -79,7 +75,7 @@
 
 	RKCommandLogView *log_view;
 	RKCommandLogPart *part;
-
+friend class RKWardMainWindow;
 	static RKCommandLog *rkcommand_log;
 };
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the rkward-tracker mailing list