// Who When What
// --- ---------- -----------------------------------------------------------
// JLH 05/22/2010 Added this text. :-)
+// JLH 08/09/2010 Preparation for removal of GraphicView object from this
+// class
//
#include "actioninterface.h"
#include "commands.h"
-#include "rs_debug.h"
-#include "rs_entitycontainer.h"
+#include "debug.h"
+#include "entitycontainer.h"
#include "graphicview.h"
/**
* Constructor.
*
- * Sets the entity container on which the action class inherited
- * from this interface operates.
+ * Sets the entity container on which the action class inherited from this
+ * interface operates.
*
- * @param name Action name. This can be used internally for
- * debugging mainly.
+ * @param name Action name. This can be used internally for debugging mainly.
* @param container Entity container this action operates on.
- * @param graphicView Graphic view instance this action operates on.
- * Please note that an action belongs to this
- * view.
- * @param cursor Default mouse cursor for this action. If the action
- * is suspended and resumed again the cursor will always
- * be reset to the one given here.
+ * @param graphicView Graphic view instance this action operates on. Please
+ * note that an action belongs to this view.
*/
-ActionInterface::ActionInterface(const char * name, RS_EntityContainer & c,
- GraphicView & v): graphicView(&v), container(&c)
+ActionInterface::ActionInterface(const char * name, EntityContainer & ec,
+ GraphicView & gv): graphicView(&gv), container(&ec)
{
- RS_DEBUG->print("ActionInterface::ActionInterface: Setting up action: \"%s\"", name);
+ DEBUG->print("ActionInterface::ActionInterface: Setting up action: \"%s\"", name);
this->name = name;
status = 0;
finished = false;
// Graphic provides a pointer to the graphic if the entity container is a
- //graphic (i.e. can also hold layers).
- graphic = c.getGraphic();
+ // graphic (i.e. can also hold layers).
+ graphic = ec.getGraphic();
// Document pointer will be used for undo / redo
- document = c.getDocument();
+ document = ec.getDocument();
// This is here until I can figure out a better way to contain all of this
// circular referential nonsense that exists in this codebase. It will be
// expunged, by Grabthar's Hammer!
graphicView->snapper.SetContainer(container);
graphicView->snapper.SetGraphicView(graphicView); // <-- THIS is what I mean! INSANE!
+ // Not all actions use these. Perhaps we need to pass params to the contructor
+ // in order to set these? Setting the default to true for both?
+ graphicView->snapper.SetVisible();
+ graphicView->preview.SetVisible();
- RS_DEBUG->print("ActionInterface::ActionInterface: Setting up action: \"%s\": OK", name);
+ DEBUG->print("ActionInterface::ActionInterface: Setting up action: \"%s\": OK", name);
}
/**
* Destructor.
*/
-ActionInterface::~ActionInterface()
+/*virtual*/ ActionInterface::~ActionInterface()
{
// would be pure virtual now:
// hideOptions();
*/
void ActionInterface::init(int status/*= 0*/)
{
-// RS_Snapper::init();
+// Snapper::init();
setStatus(status);
if (status >= 0)
updateMouseCursor();
updateToolBar();
}
+ else // status < 0, e.g. this action is finished
+ {
+ graphicView->snapper.SetVisible(false);
+ graphicView->preview.SetVisible(false);
+ graphicView->preview.clear();
+ }
}
/**
* This function can be overwritten by the implementing action.
* The default implementation does nothing.
*/
-void ActionInterface::commandEvent(RS_CommandEvent *)
+void ActionInterface::commandEvent(CommandEvent *)
{
}
*/
void ActionInterface::finish()
{
- RS_DEBUG->print("ActionInterface::finish");
+ DEBUG->print("ActionInterface::finish");
status = -1;
// graphicView->setMouseCursor(RS2::ArrowCursor);
//graphicView->requestToolBar(RS2::ToolBarMain);
//jlh: deleteSnapper();
hideOptions();
finished = true;
-// RS_Snapper::finish(); // Sets RS_Snapper::finished = true
+// Snapper::finish(); // Sets Snapper::finished = true
// I think this is where we want to update the screen...
// graphicView->redraw();
- RS_DEBUG->print("ActionInterface::finish: OK");
+ DEBUG->print("ActionInterface::finish: OK");
}
/**
*/
void ActionInterface::suspend()
{
+ // Maybe this is where we need to save the state of the snapper
+ // & preview objects???
// graphicView->setMouseCursor(RS2::ArrowCursor);
-// RS_Snapper::suspend();
+// Snapper::suspend();
}
/**
{
updateMouseCursor();
updateToolBar();
-// RS_Snapper::resume();
+// Snapper::resume();
}
/**
*/
void ActionInterface::hideOptions()
{
-// RS_Snapper::hideOptions();
+// Snapper::hideOptions();
}
/**
*/
void ActionInterface::showOptions()
{
-// RS_Snapper::showOptions();
+// Snapper::showOptions();
}
/**
- * Calls checkCommand() from the RS_COMMANDS module.
+ * Calls checkCommand() from the COMMANDS module.
*/
bool ActionInterface::checkCommand(const QString & cmd, const QString & str,
RS2::ActionType action)
{
- return RS_COMMANDS->checkCommand(cmd, str, action);
+ return COMMANDS->checkCommand(cmd, str, action);
}
/**
- * Calls command() from the RS_COMMANDS module.
+ * Calls command() from the COMMANDS module.
*/
QString ActionInterface::command(const QString & cmd)
{
- return RS_COMMANDS->command(cmd);
+ return COMMANDS->command(cmd);
}
/**
- * Calls msgAvailableCommands() from the RS_COMMANDS module.
+ * Calls msgAvailableCommands() from the COMMANDS module.
*/
QString ActionInterface::msgAvailableCommands()
{
- return RS_COMMANDS->msgAvailableCommands();
+ return COMMANDS->msgAvailableCommands();
}
// This is here to save some typing in all the action* classes derived from
return graphicView->snapper.snapPoint(e);
}
-RS_Entity * ActionInterface::catchEntity(QMouseEvent * e, RS2::ResolveLevel level/*= RS2::ResolveNone*/)
+Entity * ActionInterface::catchEntity(QMouseEvent * e, RS2::ResolveLevel level/*= RS2::ResolveNone*/)
{
return graphicView->snapper.catchEntity(e, level);
}
-RS_Entity * ActionInterface::catchEntity(Vector v, RS2::ResolveLevel level/*= RS2::ResolveNone*/)
+Entity * ActionInterface::catchEntity(Vector v, RS2::ResolveLevel level/*= RS2::ResolveNone*/)
{
return graphicView->snapper.catchEntity(v, level);
}
+#warning "!!! Dummy functions need to be deleted once all actions no longer use these !!!"
//dummy functions, will delete later...
void ActionInterface::drawSnapper(void)
{