1 #ifndef QG_DIALOGFACTORY_H
2 #define QG_DIALOGFACTORY_H
5 #include "rs_dialogfactoryinterface.h"
10 class CoordinateWidget;
11 class SelectionWidget;
14 class QG_MainWindowInterface;
17 #define QG_DIALOGFACTORY (RS_DialogFactory::instance()->getFactoryObject()->isAdapter()==false ? ((QG_DialogFactory*)RS_DialogFactory::instance()->getFactoryObject()) : NULL)
21 * This is the Qt implementation of a widget which can create and
24 class QG_DialogFactory: public RS_DialogFactoryInterface
27 QG_DialogFactory(QWidget * parent, QWidget * ow);
28 virtual ~QG_DialogFactory();
31 virtual void setOptionWidget(QWidget * ow);
34 virtual void setCoordinateWidget(CoordinateWidget * cw);
35 virtual void setMouseWidget(MouseWidget * mw);
36 virtual void setSelectionWidget(SelectionWidget * sw);
37 virtual void setCadToolBar(CadToolBar * ctb);
38 CadToolBar * getCadToolBar();
39 virtual void setCommandWidget(CommandWidget * cw);
40 CommandWidget * getCommandWidget();
41 virtual void setMainWindow(QG_MainWindowInterface * mw);
42 virtual void requestWarningDialog(const QString& warning);
44 virtual RS_GraphicView * requestNewDocument(const QString& fileName = QString::null,
45 RS_Document * doc = NULL);
46 virtual void requestSimulationControls();
48 virtual RS_Layer * requestNewLayerDialog(RS_LayerList * layerList = NULL);
49 virtual RS_Layer * requestLayerRemovalDialog(RS_LayerList * layerList = NULL);
50 virtual RS_Layer * requestEditLayerDialog(RS_LayerList * layerList = NULL);
52 virtual RS_BlockData requestNewBlockDialog(RS_BlockList * blockList);
53 virtual RS_Block * requestBlockRemovalDialog(RS_BlockList * blockList);
54 virtual RS_BlockData requestBlockAttributesDialog(RS_BlockList * blockList);
55 virtual void requestEditBlockWindow(RS_BlockList * /*blockList*/);
56 virtual void closeEditBlockWindow(RS_Block * /*blockList*/);
57 //virtual QString requestFileSaveAsDialog();
58 //virtual QString requestFileOpenDialog();
60 virtual QString requestImageOpenDialog();
61 virtual void requestOptions(RS_ActionInterface * action, bool on, bool update = false);
64 virtual void requestPrintPreviewOptions(RS_ActionInterface * action, bool on, bool update);
65 virtual void requestLineOptions(RS_ActionInterface * action, bool on);
66 virtual void requestPolylineOptions(RS_ActionInterface * action, bool on, bool update);
67 virtual void requestLineAngleOptions(RS_ActionInterface * action, bool on, bool update);
68 virtual void requestLineRelAngleOptions(RS_ActionInterface * action, bool on, bool update);
69 virtual void requestLineParallelOptions(RS_ActionInterface * action, bool on, bool update);
70 virtual void requestLineParallelThroughOptions(RS_ActionInterface * action, bool on, bool update);
71 virtual void requestLineBisectorOptions(RS_ActionInterface * action, bool on, bool update);
72 virtual void requestLinePolygonOptions(RS_ActionInterface * action, bool on, bool update);
73 virtual void requestLinePolygon2Options(RS_ActionInterface * action, bool on, bool update);
74 virtual void requestArcOptions(RS_ActionInterface * action, bool on, bool update);
75 virtual void requestArcTangentialOptions(RS_ActionInterface * action, bool on, bool update);
76 virtual void requestCircleOptions(RS_ActionInterface * action, bool on, bool update);
77 virtual void requestSplineOptions(RS_ActionInterface * action, bool on, bool update);
78 virtual void requestTextOptions(RS_ActionInterface * action, bool on, bool update);
79 virtual void requestDimensionOptions(RS_ActionInterface * action, bool on, bool update);
80 virtual void requestDimLinearOptions(RS_ActionInterface * action, bool on, bool update);
81 virtual void requestInsertOptions(RS_ActionInterface * action, bool on, bool update);
82 virtual void requestImageOptions(RS_ActionInterface * action, bool on, bool update);
83 virtual void requestTrimAmountOptions(RS_ActionInterface * action, bool on, bool update);
84 virtual void requestMoveRotateOptions(RS_ActionInterface * action, bool on, bool update);
85 virtual void requestBevelOptions(RS_ActionInterface * action, bool on, bool update);
86 virtual void requestRoundOptions(RS_ActionInterface * action, bool on, bool update);
87 virtual void requestLibraryInsertOptions(RS_ActionInterface * action, bool on, bool update);
90 virtual void requestSnapDistOptions(double& dist, bool on);
93 virtual void requestToolBar(RS2::ToolBarId id);
94 virtual void requestToolBarSelect(RS_ActionInterface * selectAction, RS2::ActionType nextAction);
96 virtual bool requestAttributesDialog(RS_AttributesData & data, RS_LayerList & layerList);
97 virtual bool requestMoveDialog(RS_MoveData & data);
98 virtual bool requestRotateDialog(RS_RotateData & data);
99 virtual bool requestScaleDialog(RS_ScaleData & data);
100 virtual bool requestMirrorDialog(RS_MirrorData & data);
101 virtual bool requestMoveRotateDialog(RS_MoveRotateData & data);
102 virtual bool requestRotate2Dialog(RS_Rotate2Data & data);
104 virtual bool requestModifyEntityDialog(RS_Entity * entity);
105 virtual bool requestTextDialog(RS_Text * text);
106 virtual bool requestHatchDialog(RS_Hatch * hatch);
109 virtual bool requestCamOptionsDialog(RS_Graphic & graphic);
112 virtual void requestOptionsGeneralDialog();
113 virtual void requestOptionsDrawingDialog(RS_Graphic & graphic);
115 virtual void requestPreviousMenu();
117 virtual void updateCoordinateWidget(const Vector & abs,
118 const Vector & rel, bool updateFormat = false);
119 virtual void updateMouseWidget(const QString & left, const QString & right);
120 virtual void updateSelectionWidget(int num);
121 virtual void commandMessage(const QString & message);
122 virtual bool isAdapter();
124 static QString extToFormat(const QString & ext);
127 //! Pointer to the widget which can host dialogs
129 //! Pointer to the widget which can host individual tool options
130 QWidget * optionWidget;
131 //! Pointer to the coordinate widget.
132 CoordinateWidget * coordinateWidget;
133 //! Pointer to the mouse widget.
134 MouseWidget * mouseWidget;
135 //! Pointer to the selection widget.
136 SelectionWidget * selectionWidget;
137 //! Pointer to the CAD tool bar
138 CadToolBar * cadToolBar;
139 //! Pointer to the command line widget
140 CommandWidget * commandWidget;
141 //! Pointer to the main app window
142 QG_MainWindowInterface * mainWindow;