// 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 "applicationwindow.h"
#include <fstream>
-#include "rs_actiondrawlinefree.h"
-#include "rs_actionlibraryinsert.h"
-#include "rs_actionprintpreview.h"
+#include "actiondrawlinefree.h"
+#include "actionlibraryinsert.h"
+#include "actionprintpreview.h"
#include "rs_creation.h"
#include "rs_dialogfactory.h"
#include "rs_dimaligned.h"
#include "rs_hatch.h"
#include "rs_insert.h"
#include "rs_image.h"
-#include "paintintf.h"
+#include "paintinterface.h"
#include "rs_script.h"
#include "rs_scriptlist.h"
#include "settings.h"
#include "qg_colorbox.h"
#include "qg_filedialog.h"
#include "qg_pentoolbar.h"
+#include "recentfiles.h"
#include "cadtoolbar.h"
#include "cadtoolbarmain.h"
#include "coordinatewidget.h"
#include "mousewidget.h"
#include "selectionwidget.h"
-#include "mdiwindow.h"
-#include "qc_dialogfactory.h"
#include "createqtactions.h"
+#include "qc_dialogfactory.h"
+#include "qg_graphicview.h"
#include "main.h"
+#include "mdiwindow.h"
ApplicationWindow * ApplicationWindow::appWindow = NULL;
// setIcon(qPixmapFromMimeSource(QC_APP_ICON));
// setWindowIcon(qPixmapFromMimeSource(QC_APP_ICON));
setWindowIcon(QIcon(":/res/" QC_APP_ICON));
+ CreateQtActions(this);
RS_DEBUG->print("ApplicationWindow::ApplicationWindow: creating action handler");
actionHandler = new QG_ActionHandler(this);
statusBar()->showMessage(tr("Inserting block '%1'").arg(name), 2000);
- RS_GraphicView * graphicView = getGraphicView();
+ GraphicView * graphicView = getGraphicView();
RS_Document * document = getDocument();
- if (graphicView != NULL && document != NULL)
+ if (graphicView && document)
{
- RS_ActionLibraryInsert * action = new RS_ActionLibraryInsert(*document, *graphicView);
+ ActionLibraryInsert * action = new ActionLibraryInsert(*document, *graphicView);
action->setFile(name);
graphicView->setCurrentAction(action);
}
void ApplicationWindow::initActions()
{
RS_DEBUG->print("ApplicationWindow::initActions()");
- CreateQtActions(this);
//
// File actions:
// menuBar()->insertItem(tr("De&bugging"), testMenu);
menuBar()->addMenu(testMenu);
- recentFiles = new QG_RecentFiles(this, fileMenu);
+ recentFiles = new RecentFiles(this, fileMenu);
}
/**
}
}*/
-#warning "!!! ApplicationWindow::updateRecentFilesMenu() is DEPRECATED !!!"
-/**
- * Updates the recent file list in the file menu.
- */
-void ApplicationWindow::updateRecentFilesMenu()
-{
- RS_DEBUG->print("ApplicationWindow::updateRecentFilesMenu()");
- RS_DEBUG->print("Updating recent file menu...");
-
-#if 0
- for(int i=0; i<recentFiles->getNumber(); ++i)
- {
- QString label = QString("&%1 %2").arg(i + 1).arg(recentFiles->get(i));
-
- if (fileMenu->findItem(i))
- {
- RS_DEBUG->print("Changeing item %d", i);
- fileMenu->changeItem(i, label);
- }
- else if (i < int(recentFiles->count()))
- {
- RS_DEBUG->print("Adding item %d", i);
- fileMenu->insertItem(label, this, SLOT(slotFileOpenRecent(int)), 0, i);
- }
- }
-#else
-//#warning "!!! Need to fix ApplicationWindow::updateRecentFilesMenu() !!!"
- recentFiles->UpdateGUI();
-#endif
-}
-
/**
* Goes back to the previous menu or one step in the current action.
*/
void ApplicationWindow::slotBack()
{
- RS_GraphicView * graphicView = getGraphicView();
+ GraphicView * graphicView = getGraphicView();
- if (graphicView != NULL)
+ if (graphicView)
graphicView->back();
else
{
- if (cadToolBar != NULL)
+ if (cadToolBar)
cadToolBar->showToolBar(RS2::ToolBarMain);
}
}
*/
void ApplicationWindow::slotEnter()
{
- if (commandWidget == NULL || !commandWidget->checkFocus())
+ if (!commandWidget || !commandWidget->checkFocus())
{
- if (cadToolBar != NULL)
+ if (cadToolBar)
cadToolBar->forceNext();
else
{
- RS_GraphicView * graphicView = getGraphicView();
+ GraphicView * graphicView = getGraphicView();
- if (graphicView != NULL)
+ if (graphicView)
graphicView->enter();
}
}
if (m)
RS_DEBUG->print(/*RS_Debug::D_CRITICAL,*/ "ApplicationWindow::slotWindowActivated m->getDoc=%08X", m->getDocument());
- if (m != NULL && m->getDocument() != NULL)
+ if (m && m->getDocument())
{
//m->setWindowState(WindowMaximized);
RS_DEBUG->print(" adding listeners");
Drawing * graphic = w->getDocument()->getGraphic();
+#if 0
if (graphic != NULL)
{
// Link the graphic's layer list to the pen tool bar
// Link the block list to the block widget
graphic->addBlockListListener(blockWidget);
}
+#endif
// Link the dialog factory to the mouse widget:
QG_DIALOGFACTORY->setMouseWidget(mouseWidget);
w->setWindowIcon(QIcon(":/res/document.png"));
w->getGraphicView()->setPrintPreview(true);
w->getGraphicView()->setBackground(RS_Color(255, 255, 255));
- w->getGraphicView()->setDefaultAction(new RS_ActionPrintPreview(*w->getDocument(), *w->getGraphicView()));
+ w->getGraphicView()->setDefaultAction(new ActionPrintPreview(*w->getDocument(), *w->getGraphicView()));
// only graphics offer block lists, blocks don't
RS_DEBUG->print(" adding listeners");
Drawing * graphic = w->getDocument()->getGraphic();
- if (graphic != NULL)
+ if (graphic)
{
+#if 0
// Link the layer list to the pen tool bar
graphic->addLayerListListener(penToolBar);
// Link the layer list to the layer widget
graphic->addLayerListListener(layerWidget);
// Link the block list to the block widget
graphic->addBlockListListener(blockWidget);
+#endif
// Center by default:
graphic->centerToPage();
}
*/
void ApplicationWindow::redrawAll()
{
- if (workspace != NULL)
+ if (workspace)
{
QList<QMdiSubWindow *> windows = workspace->subWindowList();
{
MDIWindow * m = (MDIWindow *)windows.at(i);
- if (m != NULL)
+ if (m)
{
QG_GraphicView * gv = m->getGraphicView();
- if (gv != NULL)
+ if (gv)
gv->redraw();
}
}
*/
void ApplicationWindow::updateGrids()
{
- if (workspace != NULL)
+ if (workspace)
{
QList<QMdiSubWindow *> windows = workspace->subWindowList();
{
MDIWindow * m = (MDIWindow *)windows.at(i);
- if (m != NULL)
+ if (m)
{
QG_GraphicView * gv = m->getGraphicView();
- if (gv != NULL)
+ if (gv)
gv->updateGrid();
}
}
{
MDIWindow * m = (MDIWindow *)windows.at(i);
- if (m != NULL)
+ if (m)
{
QG_GraphicView * gv = m->getGraphicView();
- if (gv != NULL)
+ if (gv)
{
gv->setBackground(color);
gv->setGridColor(gridColor);
//Drawing* g = document->getMarking();
/*
- RS_ActionDrawLineFree* action =
- new RS_ActionDrawLineFree(*document->getGraphic(),
+ ActionDrawLineFree* action =
+ new ActionDrawLineFree(*document->getGraphic(),
*graphicView);
for (int i=0; i<100; ++i) {
ins->update();
graphic->addEntity(ins);
- RS_GraphicView * v = getGraphicView();
+ GraphicView * v = getGraphicView();
- if (v != NULL)
+ if (v)
v->redraw();
}
}
}
*/
- RS_GraphicView * v = getGraphicView();
+ GraphicView * v = getGraphicView();
if (v != NULL)
v->redraw();
RS2::SolidLine));
graphic->addEntity(s);
- RS_GraphicView* v = getGraphicView();
+ GraphicView* v = getGraphicView();
if (v!=NULL) {
v->redraw();
}
// Vector(6.0,cos(x_0)-sin(x_0)*(6.0-x_0))));
- RS_GraphicView* v = getGraphicView();
+ GraphicView* v = getGraphicView();
if (v!=NULL) {
v->redraw();
}
*/
void ApplicationWindow::keyPressEvent(QKeyEvent * e)
{
+#warning "!!! keyPressEvent(): Do we need this anymore? !!!"
// timer
static QTime ts = QTime();
static QString firstKey = "";
case Qt::Key_Alt:
case Qt::Key_CapsLock:
{
-// Q3MainWindow::keyPressEvent(e);
QMainWindow::keyPressEvent(e);
// forward to actions:
- RS_GraphicView * graphicView = getGraphicView();
+ GraphicView * graphicView = getGraphicView();
- if (graphicView != NULL)
+ if (graphicView)
graphicView->keyPressEvent(e);
e->accept();
QMainWindow::keyReleaseEvent(e);
// forward to actions:
- RS_GraphicView * graphicView = getGraphicView();
+ GraphicView * graphicView = getGraphicView();
- if (graphicView != NULL)
+ if (graphicView)
graphicView->keyReleaseEvent(e);
e->accept();
{
RS_DEBUG->print(/*RS_Debug::D_CRITICAL,*/ "ApplicationWindow::getMDIWindow: workspace=%08X", workspace);
- if (workspace != NULL)
+ if (workspace)
{
RS_DEBUG->print("ApplicationWindow::getMDIWindow: activeSubWindow=%08X", workspace->activeSubWindow());
return (MDIWindow *)workspace->activeSubWindow();
* @return Pointer to the graphic view of the currently active document
* window or NULL if no window is available.
*/
-/*virtual*/ RS_GraphicView * ApplicationWindow::getGraphicView()
+/*virtual*/ GraphicView * ApplicationWindow::getGraphicView()
{
MDIWindow * m = getMDIWindow();
- if (m != NULL)
- return m->getGraphicView();
-
- return NULL;
+ return (m ? m->getGraphicView() : NULL);
}
/**
{
MDIWindow * m = getMDIWindow();
- if (m != NULL)
- return m->getDocument();
-
- return NULL;
+ return (m ? m->getDocument() : NULL);
}
/**
{
slotFileNew(doc);
- if (fileName != QString::null && getDocument() != NULL)
+ if (fileName != QString::null && getDocument())
getDocument()->setFilename(fileName);
}