]> Shamusworld >> Repos - architektonas/blobdiff - src/forms/lineoptions.cpp
Phase two of adding polyline functionality...
[architektonas] / src / forms / lineoptions.cpp
index c625973bbf0ddbf73ef24b660cc73f78444226cb..11ec4212c0d351b810408f9904df5489ff4d9508 100644 (file)
@@ -1,8 +1,11 @@
 // lineoptions.cpp
 //
+// Part of the Architektonas Project
 // Originally part of QCad Community Edition by Andrew Mustun
 // Extensively rewritten and refactored by James L. Hammons
-// (C) 2010 Underground Software
+// Portions copyright (C) 2001-2003 RibbonSoft
+// Copyright (C) 2010 Underground Software
+// See the README and GPLv2 files for licensing and warranty information
 //
 // JLH = James L. Hammons <jlhamm@acm.org>
 //
 
 #include "lineoptions.h"
 
-#include "rs.h"
-#include "rs_actiondrawline.h"
-#include "rs_actioninterface.h"
+#include "enums.h"
+#include "actiondrawline.h"
+#include "actioninterface.h"
+#include "debug.h"
 
-LineOptions::LineOptions(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/):
-       QWidget(parent, flags), action(NULL)
+LineOptions::LineOptions(QToolBar * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/):
+       QWidget(parent, flags), action(NULL),
+       bClose(new QToolButton(this)),
+       bUndo(new QToolButton(this))
 {
-       ui.setupUi(this);
+       QHBoxLayout * layout = new QHBoxLayout(this);
+       layout->setContentsMargins(0, 0, 0, 0);
+
+       bClose->setText(tr("Close"));
+       bUndo->setText(tr("Undo"));
+
+       layout->addWidget(bClose);
+       layout->addWidget(bUndo);
+
+       connect(bClose, SIGNAL(clicked()), this, SLOT(close()));
+       connect(bUndo, SIGNAL(clicked()), this, SLOT(undo()));
+
+       // We need to add the widget (this thing) to the toolbar passed in. Otherwise,
+       // nothing will show up on the screen. :-)
+       if (parent)
+               parent->addWidget(this);
 }
 
 LineOptions::~LineOptions()
 {
 }
 
-void LineOptions::setAction(RS_ActionInterface * a)
+//void LineOptions::setAction(ActionInterface * a)
+void LineOptions::setAction(ActionInterface * a)
 {
        if (a != NULL && a->rtti() == RS2::ActionDrawLine)
        {
-               action = (RS_ActionDrawLine *)a;
+               action = (ActionDrawLine *)a;
        }
        else
        {
-               RS_DEBUG->print(RS_Debug::D_ERROR, "QG_LineOptions::setAction: wrong action type");
+               DEBUG->print(Debug::D_ERROR, "QG_LineOptions::setAction: wrong action type");
                action = NULL;
        }
 }
 
 void LineOptions::close()
 {
-       if (action != NULL)
+       if (action)
                action->close();
 }
 
 void LineOptions::undo()
 {
-       if (action != NULL)
+       if (action)
                action->undo();
 }