init
This commit is contained in:
272
ui/qg_actionhandler.h
Normal file
272
ui/qg_actionhandler.h
Normal file
@@ -0,0 +1,272 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** This file is part of the LibreCAD project, a 2D CAD program
|
||||
**
|
||||
** Copyright (C) 2015 A. Stebich (librecad@mail.lordofbikes.de)
|
||||
** Copyright (C) 2010 R. van Twisk (librecad@rvt.dds.nl)
|
||||
** Copyright (C) 2001-2003 RibbonSoft. All rights reserved.
|
||||
**
|
||||
**
|
||||
** This file may be distributed and/or modified under the terms of the
|
||||
** GNU General Public License version 2 as published by the Free Software
|
||||
** Foundation and appearing in the file gpl-2.0.txt included in the
|
||||
** packaging of this file.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program; if not, write to the Free Software
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
**
|
||||
** This copyright notice MUST APPEAR in all copies of the script!
|
||||
**
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef QG_ACTIONHANDLER_H
|
||||
#define QG_ACTIONHANDLER_H
|
||||
|
||||
#include "rs_actioninterface.h"
|
||||
|
||||
class QG_SnapToolBar;
|
||||
class RS_Layer;
|
||||
|
||||
/**
|
||||
* This class can trigger actions (from menus, buttons, ...).
|
||||
*/
|
||||
class QG_ActionHandler : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QG_ActionHandler(QObject* parent);
|
||||
virtual ~QG_ActionHandler() = default;
|
||||
|
||||
RS_ActionInterface* getCurrentAction();
|
||||
RS_ActionInterface* setCurrentAction(RS2::ActionType id);
|
||||
|
||||
/**
|
||||
* Kills all running selection actions. Called when a selection action
|
||||
* is launched to reduce confusion.
|
||||
*/
|
||||
void killSelectActions();
|
||||
/**
|
||||
* @brief killAllActions kill all actions
|
||||
*/
|
||||
void killAllActions();
|
||||
|
||||
bool keycode(const QString& code);
|
||||
//special handling of actions issued from command line, currently used for snap actions
|
||||
//return true if handled
|
||||
bool commandLineActions(RS2::ActionType id);
|
||||
bool command(const QString& cmd);
|
||||
QStringList getAvailableCommands();
|
||||
RS_SnapMode getSnaps();
|
||||
RS2::SnapRestriction getSnapRestriction();
|
||||
void set_view(RS_GraphicView* graphic_view);
|
||||
void set_document(RS_Document* document);
|
||||
void set_snap_toolbar(QG_SnapToolBar* snap_toolbar);
|
||||
|
||||
public slots:
|
||||
/*void slotFileNew();*/
|
||||
void slotFileNewTemplate();
|
||||
void slotFileOpen();
|
||||
/*
|
||||
void slotFileOpen(const QString& fileName);
|
||||
void slotFileSave();
|
||||
*/
|
||||
void slotFileSaveAs();
|
||||
void slotFileExportMakerCam();
|
||||
/*
|
||||
void slotFileClose();
|
||||
void slotFilePrint();
|
||||
*/
|
||||
|
||||
void slotZoomIn();
|
||||
void slotZoomOut();
|
||||
void slotZoomAuto();
|
||||
void slotZoomWindow();
|
||||
void slotZoomPan();
|
||||
void slotZoomPrevious();
|
||||
void slotZoomRedraw();
|
||||
|
||||
void slotToolRegenerateDimensions();
|
||||
|
||||
void slotEditKillAllActions();
|
||||
void slotEditUndo();
|
||||
void slotEditRedo();
|
||||
void slotEditCut();
|
||||
void slotEditCopy();
|
||||
void slotEditPaste();
|
||||
void slotOrderBottom();
|
||||
void slotOrderLower();
|
||||
void slotOrderRaise();
|
||||
void slotOrderTop();
|
||||
|
||||
void slotSelectSingle();
|
||||
void slotSelectContour();
|
||||
void slotSelectWindow();
|
||||
void slotDeselectWindow();
|
||||
void slotSelectAll();
|
||||
void slotDeselectAll();
|
||||
void slotSelectInvert();
|
||||
void slotSelectIntersected();
|
||||
void slotDeselectIntersected();
|
||||
void slotSelectLayer();
|
||||
|
||||
void slotDrawPoint();
|
||||
void slotDrawLine();
|
||||
void slotDrawLineAngle();
|
||||
void slotDrawLineHorizontal();
|
||||
void slotDrawLineVertical();
|
||||
void slotDrawLineFree();
|
||||
void slotDrawLineHorVert();
|
||||
void slotDrawLineParallel();
|
||||
void slotDrawLineParallelThrough();
|
||||
void slotDrawLineRectangle();
|
||||
void slotDrawLineBisector();
|
||||
void slotDrawLineTangent1();
|
||||
void slotDrawLineTangent2();
|
||||
void slotDrawLineOrthogonal();
|
||||
void slotDrawLineOrthTan();
|
||||
void slotDrawLineRelAngle();
|
||||
void slotDrawLinePolygon();
|
||||
void slotDrawLinePolygon2();
|
||||
void slotDrawLinePolygon3();//added by txmy
|
||||
void slotDrawCircle();
|
||||
void slotDrawCircleCR();
|
||||
void slotDrawCircle2P();
|
||||
void slotDrawCircle2PR();
|
||||
void slotDrawCircle3P();
|
||||
void slotDrawCircleParallel();
|
||||
void slotDrawCircleInscribe();
|
||||
void slotDrawCircleTan2();
|
||||
void slotDrawCircleTan3();
|
||||
void slotDrawCircleTan1_2P();
|
||||
void slotDrawCircleTan2_1P();
|
||||
void slotDrawArc();
|
||||
void slotDrawArc3P();
|
||||
void slotDrawArcParallel();
|
||||
void slotDrawArcTangential();
|
||||
void slotDrawEllipseAxis();
|
||||
void slotDrawEllipseArcAxis();
|
||||
void slotDrawEllipseFociPoint();
|
||||
void slotDrawEllipse4Points();
|
||||
void slotDrawEllipseCenter3Points();
|
||||
void slotDrawEllipseInscribe();
|
||||
void slotDrawSpline();
|
||||
void slotDrawSplinePoints();
|
||||
void slotDrawMText();
|
||||
void slotDrawText();
|
||||
void slotDrawHatch();
|
||||
void slotDrawImage();
|
||||
void slotDrawPolyline();
|
||||
void slotPolylineAdd();
|
||||
void slotPolylineAppend();
|
||||
void slotPolylineDel();
|
||||
void slotPolylineDelBetween();
|
||||
void slotPolylineTrim();
|
||||
void slotPolylineEquidistant();
|
||||
void slotPolylineSegment();
|
||||
|
||||
void slotDimAligned();
|
||||
void slotDimLinear();
|
||||
void slotDimLinearHor();
|
||||
void slotDimLinearVer();
|
||||
void slotDimRadial();
|
||||
void slotDimDiametric();
|
||||
void slotDimAngular();
|
||||
void slotDimLeader();
|
||||
|
||||
void slotModifyAttributes();
|
||||
void slotModifyDelete();
|
||||
void slotModifyDeleteQuick();
|
||||
void slotModifyDeleteFree();
|
||||
void slotModifyMove();
|
||||
void slotModifyScale();
|
||||
void slotModifyRevertDirection();
|
||||
void slotModifyRotate();
|
||||
void slotModifyMirror();
|
||||
void slotModifyMoveRotate();
|
||||
void slotModifyRotate2();
|
||||
void slotModifyEntity();
|
||||
void slotModifyTrim();
|
||||
void slotModifyTrim2();
|
||||
void slotModifyTrimAmount();
|
||||
void slotModifyCut();
|
||||
void slotModifyStretch();
|
||||
void slotModifyBevel();
|
||||
void slotModifyRound();
|
||||
void slotModifyOffset();
|
||||
void slotModifyExplodeText();
|
||||
|
||||
void slotSetSnaps(RS_SnapMode const& s);
|
||||
void slotSnapFree();
|
||||
void slotSnapGrid();
|
||||
void slotSnapEndpoint();
|
||||
void slotSnapOnEntity();
|
||||
void slotSnapCenter();
|
||||
void slotSnapMiddle();
|
||||
void slotSnapDist();
|
||||
void slotSnapIntersection();
|
||||
void slotSnapIntersectionManual();
|
||||
|
||||
void slotRestrictNothing();
|
||||
void slotRestrictOrthogonal();
|
||||
void slotRestrictHorizontal();
|
||||
void slotRestrictVertical();
|
||||
|
||||
void disableSnaps();
|
||||
void disableRestrictions();
|
||||
|
||||
void slotSetRelativeZero();
|
||||
void slotLockRelativeZero(bool on);
|
||||
|
||||
void slotInfoInside();
|
||||
void slotInfoDist();
|
||||
void slotInfoDist2();
|
||||
void slotInfoAngle();
|
||||
void slotInfoTotalLength();
|
||||
void slotInfoArea();
|
||||
|
||||
void slotLayersDefreezeAll();
|
||||
void slotLayersFreezeAll();
|
||||
void slotLayersUnlockAll();
|
||||
void slotLayersLockAll();
|
||||
void slotLayersAdd();
|
||||
void slotLayersRemove();
|
||||
void slotLayersEdit();
|
||||
void slotLayersToggleView();
|
||||
void slotLayersToggleLock();
|
||||
void slotLayersTogglePrint();
|
||||
void slotLayersToggleConstruction();
|
||||
|
||||
void slotBlocksDefreezeAll();
|
||||
void slotBlocksFreezeAll();
|
||||
void slotBlocksAdd();
|
||||
void slotBlocksRemove();
|
||||
void slotBlocksAttributes();
|
||||
void slotBlocksEdit();
|
||||
void slotBlocksSave();
|
||||
void slotBlocksInsert();
|
||||
void slotBlocksToggleView();
|
||||
void slotBlocksCreate();
|
||||
void slotBlocksExplode();
|
||||
void slotOptionsDrawing();
|
||||
|
||||
void toggleVisibility(RS_Layer* layer);
|
||||
void toggleLock(RS_Layer* layer);
|
||||
void togglePrint(RS_Layer* layer);
|
||||
void toggleConstruction(RS_Layer* layer);
|
||||
private:
|
||||
|
||||
// Type of draw order selected command
|
||||
RS2::ActionType orderType{RS2::ActionOrderTop};
|
||||
QG_SnapToolBar* snap_toolbar{nullptr};
|
||||
RS_GraphicView* view{nullptr};
|
||||
RS_Document* document{nullptr};
|
||||
};
|
||||
|
||||
#endif
|
||||
// EOF
|
||||
Reference in New Issue
Block a user