|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef SCHEMATICVIEWER_H
|
|
Toshihiro Shimizu |
890ddd |
#define SCHEMATICVIEWER_H
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// TnzLib includes
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/tstageobjectid.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// TnzBase includes
|
|
Toshihiro Shimizu |
890ddd |
#include "tfx.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// Qt includes
|
|
Toshihiro Shimizu |
890ddd |
#include <qgraphicsscene></qgraphicsscene>
|
|
Toshihiro Shimizu |
890ddd |
#include <qgraphicsview></qgraphicsview>
|
|
manongjohn |
a99cb6 |
#include <qtouchdevice></qtouchdevice>
|
|
Toshihiro Shimizu |
890ddd |
|
|
manongjohn |
d6e3cc |
#include <qicon></qicon>
|
|
manongjohn |
d6e3cc |
|
|
Toshihiro Shimizu |
890ddd |
// STD includes
|
|
Toshihiro Shimizu |
890ddd |
#include <set></set>
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#undef DVAPI
|
|
Toshihiro Shimizu |
890ddd |
#undef DVVAR
|
|
Toshihiro Shimizu |
890ddd |
#ifdef TOONZQT_EXPORTS
|
|
Toshihiro Shimizu |
890ddd |
#define DVAPI DV_EXPORT_API
|
|
Toshihiro Shimizu |
890ddd |
#define DVVAR DV_EXPORT_VAR
|
|
Toshihiro Shimizu |
890ddd |
#else
|
|
Toshihiro Shimizu |
890ddd |
#define DVAPI DV_IMPORT_API
|
|
Toshihiro Shimizu |
890ddd |
#define DVVAR DV_IMPORT_VAR
|
|
Toshihiro Shimizu |
890ddd |
#endif
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//====================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// Forward declarations
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class SchematicNode;
|
|
Toshihiro Shimizu |
890ddd |
class SchematicPort;
|
|
Toshihiro Shimizu |
890ddd |
class SchematicLink;
|
|
Toshihiro Shimizu |
890ddd |
class ToonzScene;
|
|
Toshihiro Shimizu |
890ddd |
class StageSchematicScene;
|
|
Toshihiro Shimizu |
890ddd |
class FxSchematicScene;
|
|
Toshihiro Shimizu |
890ddd |
class TXsheetHandle;
|
|
Toshihiro Shimizu |
890ddd |
class TObjectHandle;
|
|
Toshihiro Shimizu |
890ddd |
class TColumnHandle;
|
|
Toshihiro Shimizu |
890ddd |
class TFxHandle;
|
|
Toshihiro Shimizu |
890ddd |
class TSceneHandle;
|
|
Toshihiro Shimizu |
890ddd |
class TFrameHandle;
|
|
Toshihiro Shimizu |
890ddd |
class TFx;
|
|
Toshihiro Shimizu |
890ddd |
class TLevel;
|
|
Toshihiro Shimizu |
890ddd |
class TSelection;
|
|
Toshihiro Shimizu |
890ddd |
class TApplication;
|
|
Toshihiro Shimizu |
890ddd |
class QToolBar;
|
|
Toshihiro Shimizu |
890ddd |
class QToolButton;
|
|
Toshihiro Shimizu |
890ddd |
class QAction;
|
|
manongjohn |
a99cb6 |
class QTouchEvent;
|
|
manongjohn |
a99cb6 |
class QGestureEvent;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//====================================================
|
|
manongjohn |
a99cb6 |
namespace {
|
|
manongjohn |
a99cb6 |
enum CursorMode { Select, Zoom, Hand };
|
|
manongjohn |
a99cb6 |
}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//==================================================================
|
|
Toshihiro Shimizu |
890ddd |
//
|
|
Toshihiro Shimizu |
890ddd |
// SchematicScene
|
|
Toshihiro Shimizu |
890ddd |
//
|
|
Toshihiro Shimizu |
890ddd |
//==================================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
class DVAPI SchematicScene : public QGraphicsScene {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
SchematicScene(QWidget *parent);
|
|
Shinya Kitaoka |
120a6e |
~SchematicScene();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void clearAllItems();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
virtual QGraphicsItem *getCurrentNode() { return 0; }
|
|
Shinya Kitaoka |
120a6e |
virtual void reorderScene() = 0;
|
|
Shinya Kitaoka |
120a6e |
virtual void updateScene() = 0;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
protected:
|
|
Shinya Kitaoka |
120a6e |
QList<schematiclink *=""> m_highlightedLinks;</schematiclink>
|
|
Shinya Kitaoka |
120a6e |
enum GridDimension { eLarge, eSmall };
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
protected:
|
|
Shinya Kitaoka |
120a6e |
//! Returns \b true if no nodes intersects \b rect.
|
|
Shinya Kitaoka |
120a6e |
bool isAnEmptyZone(const QRectF &rect);
|
|
Shinya Kitaoka |
120a6e |
//! Returns a vector containing all nodes which had their bounding rects
|
|
Shinya Kitaoka |
120a6e |
//! conatined in \b node bounding
|
|
Shinya Kitaoka |
120a6e |
//! rect enlarged of 10.
|
|
Shinya Kitaoka |
120a6e |
QVector<schematicnode *=""> getPlacedNode(SchematicNode *node);</schematicnode>
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void showEvent(QShowEvent *se);
|
|
Shinya Kitaoka |
120a6e |
void hideEvent(QHideEvent *se);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
protected slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
virtual void onSelectionSwitched(TSelection *, TSelection *) {}
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//==================================================================
|
|
Toshihiro Shimizu |
890ddd |
//
|
|
Toshihiro Shimizu |
890ddd |
// SchematicSceneViewer
|
|
Toshihiro Shimizu |
890ddd |
//
|
|
Toshihiro Shimizu |
890ddd |
//==================================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
d1f6c4 |
class DVAPI SchematicSceneViewer final : public QGraphicsView {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
manongjohn |
a99cb6 |
bool m_tabletEvent, m_tabletMove;
|
|
manongjohn |
a99cb6 |
enum TabletState {
|
|
manongjohn |
a99cb6 |
None = 0,
|
|
manongjohn |
a99cb6 |
Touched,
|
|
manongjohn |
a99cb6 |
StartStroke, // this state is to detect the first call
|
|
manongjohn |
a99cb6 |
// of TabletMove just after TabletPress
|
|
manongjohn |
a99cb6 |
OnStroke,
|
|
manongjohn |
a99cb6 |
Released
|
|
manongjohn |
a99cb6 |
} m_tabletState = None;
|
|
manongjohn |
a99cb6 |
|
|
manongjohn |
a99cb6 |
bool m_touchActive = false;
|
|
manongjohn |
a99cb6 |
|
|
manongjohn |
a99cb6 |
bool m_gestureActive = false;
|
|
manongjohn |
a99cb6 |
QTouchDevice::DeviceType m_touchDevice = QTouchDevice::TouchScreen;
|
|
manongjohn |
a99cb6 |
bool m_zooming = false;
|
|
manongjohn |
a99cb6 |
bool m_panning = false;
|
|
manongjohn |
a99cb6 |
double m_scaleFactor; // used for zoom gesture
|
|
manongjohn |
a99cb6 |
|
|
manongjohn |
6af389 |
bool m_stylusUsed = false;
|
|
manongjohn |
6af389 |
|
|
manongjohn |
a99cb6 |
CursorMode m_cursorMode;
|
|
manongjohn |
a99cb6 |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
SchematicSceneViewer(QWidget *parent);
|
|
Shinya Kitaoka |
120a6e |
~SchematicSceneViewer();
|
|
Toshihiro Shimizu |
890ddd |
|
|
shun-iwasawa |
92d40c |
void zoomQt(bool zoomin, bool resetView);
|
|
manongjohn |
6b57d9 |
void panQt(const QPointF &delta);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QPointF getOldScenePos() { return m_oldScenePos; }
|
|
Toshihiro Shimizu |
890ddd |
|
|
manongjohn |
a99cb6 |
void setCursorMode(CursorMode mode);
|
|
manongjohn |
a99cb6 |
|
|
Toshihiro Shimizu |
890ddd |
protected:
|
|
Shinya Kitaoka |
473e70 |
void mousePressEvent(QMouseEvent *me) override;
|
|
Shinya Kitaoka |
473e70 |
void mouseMoveEvent(QMouseEvent *me) override;
|
|
Shinya Kitaoka |
473e70 |
void mouseReleaseEvent(QMouseEvent *me) override;
|
|
Shinya Kitaoka |
473e70 |
void keyPressEvent(QKeyEvent *ke) override;
|
|
Shinya Kitaoka |
473e70 |
void wheelEvent(QWheelEvent *me) override;
|
|
Shinya Kitaoka |
473e70 |
void showEvent(QShowEvent *se) override;
|
|
manongjohn |
3c9f8d |
void enterEvent(QEvent *e) override;
|
|
manongjohn |
3c9f8d |
void leaveEvent(QEvent *e) override;
|
|
manongjohn |
a99cb6 |
void mouseDoubleClickEvent(QMouseEvent *event);
|
|
manongjohn |
a99cb6 |
|
|
manongjohn |
6af389 |
void tabletEvent(QTabletEvent *e);
|
|
manongjohn |
a99cb6 |
void touchEvent(QTouchEvent *e, int type);
|
|
manongjohn |
a99cb6 |
void gestureEvent(QGestureEvent *e);
|
|
manongjohn |
a99cb6 |
|
|
manongjohn |
a99cb6 |
bool event(QEvent *event) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
protected slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void centerOnCurrent();
|
|
Shinya Kitaoka |
120a6e |
void reorderScene();
|
|
shun-iwasawa |
92d40c |
|
|
shun-iwasawa |
92d40c |
public slots:
|
|
shun-iwasawa |
92d40c |
|
|
Shinya Kitaoka |
120a6e |
void normalizeScene();
|
|
shun-iwasawa |
92d40c |
void fitScene();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
private:
|
|
Shinya Kitaoka |
120a6e |
Qt::MouseButton m_buttonState;
|
|
Shinya Kitaoka |
120a6e |
QPoint m_oldWinPos;
|
|
Shinya Kitaoka |
120a6e |
QPointF m_oldScenePos;
|
|
manongjohn |
0b7d7e |
QPointF m_firstPanPoint, m_mousePanPoint;
|
|
manongjohn |
6b57d9 |
QPoint m_zoomPoint;
|
|
Shinya Kitaoka |
120a6e |
bool m_firstShowing;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
private:
|
|
Shinya Kitaoka |
120a6e |
void changeScale(const QPoint &winPos, qreal scaleFactor);
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//==================================================================
|
|
Toshihiro Shimizu |
890ddd |
//
|
|
Toshihiro Shimizu |
890ddd |
// SchematicViewer
|
|
Toshihiro Shimizu |
890ddd |
//
|
|
Toshihiro Shimizu |
890ddd |
//==================================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
d1f6c4 |
class DVAPI SchematicViewer final : public QWidget {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
manongjohn |
d6e3cc |
QColor m_textColor; // text color (black)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor TextColor READ getTextColor WRITE setTextColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor m_verticalLineColor;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor VerticalLineColor READ getVerticalLineColor WRITE
|
|
manongjohn |
d6e3cc |
setVerticalLineColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// TZP column
|
|
manongjohn |
d6e3cc |
QColor m_levelColumnColor; //(127,219,127)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor LevelColumnColor READ getLevelColumnColor WRITE
|
|
manongjohn |
d6e3cc |
setLevelColumnColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// PLI column
|
|
manongjohn |
d6e3cc |
QColor m_vectorColumnColor; //(212,212,133)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor VectorColumnColor READ getVectorColumnColor WRITE
|
|
manongjohn |
d6e3cc |
setVectorColumnColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// subXsheet column
|
|
manongjohn |
d6e3cc |
QColor m_childColumnColor; //(214,154,219)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor ChildColumnColor READ getChildColumnColor WRITE
|
|
manongjohn |
d6e3cc |
setChildColumnColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Raster image column
|
|
manongjohn |
d6e3cc |
QColor m_fullcolorColumnColor; //(154,214,219)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor FullcolorColumnColor READ getFullcolorColumnColor WRITE
|
|
manongjohn |
d6e3cc |
setFullcolorColumnColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Fx column
|
|
manongjohn |
d6e3cc |
QColor m_fxColumnColor; //(130,129,93)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor FxColumnColor READ getFxColumnColor WRITE setFxColumnColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Palette column
|
|
manongjohn |
d6e3cc |
QColor m_paletteColumnColor; //(42,171,154)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor PaletteColumnColor READ getPaletteColumnColor WRITE
|
|
manongjohn |
d6e3cc |
setPaletteColumnColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Mesh column
|
|
manongjohn |
d6e3cc |
QColor m_meshColumnColor;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(
|
|
manongjohn |
d6e3cc |
QColor MeshColumnColor READ getMeshColumnColor WRITE setMeshColumnColor)
|
|
manongjohn |
d6e3cc |
|
|
shun-iwasawa |
045b61 |
// Reference column
|
|
shun-iwasawa |
045b61 |
QColor m_referenceColumnColor;
|
|
shun-iwasawa |
045b61 |
Q_PROPERTY(QColor ReferenceColumnColor MEMBER m_referenceColumnColor)
|
|
shun-iwasawa |
045b61 |
|
|
manongjohn |
d6e3cc |
// Table node
|
|
manongjohn |
d6e3cc |
QColor m_tableColor;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor TableColor READ getTableColor WRITE setTableColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Camera nodes
|
|
manongjohn |
d6e3cc |
QColor m_activeCameraColor, m_otherCameraColor;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor ActiveCameraColor READ getActiveCameraColor WRITE
|
|
manongjohn |
d6e3cc |
setActiveCameraColor)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor OtherCameraColor READ getOtherCameraColor WRITE
|
|
manongjohn |
d6e3cc |
setOtherCameraColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Group node
|
|
manongjohn |
d6e3cc |
QColor m_groupColor;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor GroupColor READ getGroupColor WRITE setGroupColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Peg node
|
|
manongjohn |
d6e3cc |
QColor m_pegColor;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor PegColor READ getPegColor WRITE setPegColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Path node
|
|
manongjohn |
d6e3cc |
QColor m_splineColor;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor SplineColor READ getSplineColor WRITE setSplineColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Output nodes
|
|
manongjohn |
d6e3cc |
QColor m_activeOutputColor, m_otherOutputColor;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor ActiveOutputColor READ getActiveOutputColor WRITE
|
|
manongjohn |
d6e3cc |
setActiveOutputColor)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor OtherOutputColor READ getOtherOutputColor WRITE
|
|
manongjohn |
d6e3cc |
setOtherOutputColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Xsheet node
|
|
manongjohn |
d6e3cc |
QColor m_xsheetColor;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor XsheetColor READ getXsheetColor WRITE setXsheetColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Fx nodes
|
|
manongjohn |
d6e3cc |
QColor m_normalFx;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor NormalFxColor READ getNormalFxColor WRITE setNormalFxColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor m_macroFx;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor MacroFxColor READ getMacroFxColor WRITE setMacroFxColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor m_imageAdjustFx;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor ImageAdjustFxColor READ getImageAdjustFxColor WRITE
|
|
manongjohn |
d6e3cc |
setImageAdjustFxColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor m_layerBlendingFx;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor LayerBlendingFxColor READ getLayerBlendingFxColor WRITE
|
|
manongjohn |
d6e3cc |
setLayerBlendingFxColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor m_matteFx;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor MatteFxColor READ getMatteFxColor WRITE setMatteFxColor)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Schematic Preview Button
|
|
manongjohn |
d6e3cc |
QColor m_schematicPreviewButtonBgOnColor;
|
|
manongjohn |
d6e3cc |
QIcon m_schematicPreviewButtonOnImage;
|
|
manongjohn |
d6e3cc |
QColor m_schematicPreviewButtonBgOffColor;
|
|
manongjohn |
d6e3cc |
QIcon m_schematicPreviewButtonOffImage;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor SchematicPreviewButtonBgOnColor READ
|
|
manongjohn |
d6e3cc |
getSchematicPreviewButtonBgOnColor WRITE
|
|
manongjohn |
d6e3cc |
setSchematicPreviewButtonBgOnColor)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(
|
|
manongjohn |
d6e3cc |
QIcon SchematicPreviewButtonOnImage READ getSchematicPreviewButtonOnImage
|
|
manongjohn |
d6e3cc |
WRITE setSchematicPreviewButtonOnImage)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor SchematicPreviewButtonBgOffColor READ
|
|
manongjohn |
d6e3cc |
getSchematicPreviewButtonBgOffColor WRITE
|
|
manongjohn |
d6e3cc |
setSchematicPreviewButtonBgOffColor)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QIcon SchematicPreviewButtonOffImage READ
|
|
manongjohn |
d6e3cc |
getSchematicPreviewButtonOffImage WRITE
|
|
manongjohn |
d6e3cc |
setSchematicPreviewButtonOffImage)
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Schematic Camstand Button
|
|
manongjohn |
d6e3cc |
QColor m_schematicCamstandButtonBgOnColor;
|
|
manongjohn |
d6e3cc |
QIcon m_schematicCamstandButtonOnImage;
|
|
manongjohn |
d6e3cc |
QIcon m_schematicCamstandButtonTranspImage;
|
|
manongjohn |
d6e3cc |
QColor m_schematicCamstandButtonBgOffColor;
|
|
manongjohn |
d6e3cc |
QIcon m_schematicCamstandButtonOffImage;
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor SchematicCamstandButtonBgOnColor READ
|
|
manongjohn |
d6e3cc |
getSchematicCamstandButtonBgOnColor WRITE
|
|
manongjohn |
d6e3cc |
setSchematicCamstandButtonBgOnColor)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QIcon SchematicCamstandButtonOnImage READ
|
|
manongjohn |
d6e3cc |
getSchematicCamstandButtonOnImage WRITE
|
|
manongjohn |
d6e3cc |
setSchematicCamstandButtonOnImage)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QIcon SchematicCamstandButtonTranspImage READ
|
|
manongjohn |
d6e3cc |
getSchematicCamstandButtonTranspImage WRITE
|
|
manongjohn |
d6e3cc |
setSchematicCamstandButtonTranspImage)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QColor SchematicCamstandButtonBgOffColor READ
|
|
manongjohn |
d6e3cc |
getSchematicCamstandButtonBgOffColor WRITE
|
|
manongjohn |
d6e3cc |
setSchematicCamstandButtonBgOffColor)
|
|
manongjohn |
d6e3cc |
Q_PROPERTY(QIcon SchematicCamstandButtonOffImage READ
|
|
manongjohn |
d6e3cc |
getSchematicCamstandButtonOffImage WRITE
|
|
manongjohn |
d6e3cc |
setSchematicCamstandButtonOffImage)
|
|
manongjohn |
d6e3cc |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
SchematicViewer(QWidget *parent);
|
|
Shinya Kitaoka |
120a6e |
~SchematicViewer();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void setSchematicScene(SchematicScene *scene);
|
|
Shinya Kitaoka |
120a6e |
void setApplication(TApplication *app);
|
|
Shinya Kitaoka |
120a6e |
bool isStageSchematicViewed();
|
|
Shinya Kitaoka |
120a6e |
void setStageSchematicViewed(bool isStageSchematic);
|
|
Toshihiro Shimizu |
890ddd |
|
|
manongjohn |
d6e3cc |
void setTextColor(const QColor &color) { m_textColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getTextColor() const { return m_textColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
void setVerticalLineColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_verticalLineColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QColor getVerticalLineColor() const { return m_verticalLineColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// TZP column
|
|
manongjohn |
d6e3cc |
void setLevelColumnColor(const QColor &color) { m_levelColumnColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getLevelColumnColor() const { return m_levelColumnColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// PLI column
|
|
manongjohn |
d6e3cc |
void setVectorColumnColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_vectorColumnColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QColor getVectorColumnColor() const { return m_vectorColumnColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// subXsheet column
|
|
manongjohn |
d6e3cc |
void setChildColumnColor(const QColor &color) { m_childColumnColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getChildColumnColor() const { return m_childColumnColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Raster image column
|
|
manongjohn |
d6e3cc |
void setFullcolorColumnColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_fullcolorColumnColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QColor getFullcolorColumnColor() const { return m_fullcolorColumnColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Fx column
|
|
manongjohn |
d6e3cc |
void setFxColumnColor(const QColor &color) { m_fxColumnColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getFxColumnColor() const { return m_fxColumnColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Palette column
|
|
manongjohn |
d6e3cc |
void setPaletteColumnColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_paletteColumnColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QColor getPaletteColumnColor() const { return m_paletteColumnColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Mesh column
|
|
manongjohn |
d6e3cc |
void setMeshColumnColor(const QColor &color) { m_meshColumnColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getMeshColumnColor() const { return m_meshColumnColor; }
|
|
manongjohn |
d6e3cc |
|
|
shun-iwasawa |
045b61 |
// Reference column
|
|
shun-iwasawa |
045b61 |
QColor getReferenceColumnColor() const { return m_referenceColumnColor; }
|
|
shun-iwasawa |
045b61 |
|
|
manongjohn |
d6e3cc |
// Table node
|
|
manongjohn |
d6e3cc |
void setTableColor(const QColor &color) { m_tableColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getTableColor() const { return m_tableColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Camera nodes
|
|
manongjohn |
d6e3cc |
void setActiveCameraColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_activeCameraColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
void setOtherCameraColor(const QColor &color) { m_otherCameraColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getActiveCameraColor() const { return m_activeCameraColor; }
|
|
manongjohn |
d6e3cc |
QColor getOtherCameraColor() const { return m_otherCameraColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Group node
|
|
manongjohn |
d6e3cc |
void setGroupColor(const QColor &color) { m_groupColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getGroupColor() const { return m_groupColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Peg node
|
|
manongjohn |
d6e3cc |
void setPegColor(const QColor &color) { m_pegColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getPegColor() const { return m_pegColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Path node
|
|
manongjohn |
d6e3cc |
void setSplineColor(const QColor &color) { m_splineColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getSplineColor() const { return m_splineColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Output nodes
|
|
manongjohn |
d6e3cc |
void setActiveOutputColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_activeOutputColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
void setOtherOutputColor(const QColor &color) { m_otherOutputColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getActiveOutputColor() const { return m_activeOutputColor; }
|
|
manongjohn |
d6e3cc |
QColor getOtherOutputColor() const { return m_otherOutputColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Xsheet node
|
|
manongjohn |
d6e3cc |
void setXsheetColor(const QColor &color) { m_xsheetColor = color; }
|
|
manongjohn |
d6e3cc |
QColor getXsheetColor() const { return m_xsheetColor; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Fx nodes
|
|
manongjohn |
d6e3cc |
QColor getNormalFxColor() const { return m_normalFx; }
|
|
manongjohn |
d6e3cc |
void setNormalFxColor(const QColor &color) { m_normalFx = color; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor getMacroFxColor() const { return m_macroFx; }
|
|
manongjohn |
d6e3cc |
void setMacroFxColor(const QColor &color) { m_macroFx = color; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor getImageAdjustFxColor() const { return m_imageAdjustFx; }
|
|
manongjohn |
d6e3cc |
void setImageAdjustFxColor(const QColor &color) { m_imageAdjustFx = color; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor getLayerBlendingFxColor() const { return m_layerBlendingFx; }
|
|
manongjohn |
d6e3cc |
void setLayerBlendingFxColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_layerBlendingFx = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor getMatteFxColor() const { return m_matteFx; }
|
|
manongjohn |
d6e3cc |
void setMatteFxColor(const QColor &color) { m_matteFx = color; }
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Schematic Preview Button
|
|
manongjohn |
d6e3cc |
void setSchematicPreviewButtonBgOnColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_schematicPreviewButtonBgOnColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
void setSchematicPreviewButtonOnImage(const QIcon &image) {
|
|
manongjohn |
d6e3cc |
m_schematicPreviewButtonOnImage = image;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
void setSchematicPreviewButtonBgOffColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_schematicPreviewButtonBgOffColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
void setSchematicPreviewButtonOffImage(const QIcon &image) {
|
|
manongjohn |
d6e3cc |
m_schematicPreviewButtonOffImage = image;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QColor getSchematicPreviewButtonBgOnColor() const {
|
|
manongjohn |
d6e3cc |
return m_schematicPreviewButtonBgOnColor;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QIcon getSchematicPreviewButtonOnImage() const {
|
|
manongjohn |
d6e3cc |
return m_schematicPreviewButtonOnImage;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QColor getSchematicPreviewButtonBgOffColor() const {
|
|
manongjohn |
d6e3cc |
return m_schematicPreviewButtonBgOffColor;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QIcon getSchematicPreviewButtonOffImage() const {
|
|
manongjohn |
d6e3cc |
return m_schematicPreviewButtonOffImage;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
// Schematic Camstand Button
|
|
manongjohn |
d6e3cc |
void setSchematicCamstandButtonBgOnColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_schematicCamstandButtonBgOnColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
void setSchematicCamstandButtonOnImage(const QIcon &image) {
|
|
manongjohn |
d6e3cc |
m_schematicCamstandButtonOnImage = image;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
void setSchematicCamstandButtonTranspImage(const QIcon &image) {
|
|
manongjohn |
d6e3cc |
m_schematicCamstandButtonTranspImage = image;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
void setSchematicCamstandButtonBgOffColor(const QColor &color) {
|
|
manongjohn |
d6e3cc |
m_schematicCamstandButtonBgOffColor = color;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
void setSchematicCamstandButtonOffImage(const QIcon &image) {
|
|
manongjohn |
d6e3cc |
m_schematicCamstandButtonOffImage = image;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QColor getSchematicCamstandButtonBgOnColor() const {
|
|
manongjohn |
d6e3cc |
return m_schematicCamstandButtonBgOnColor;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QIcon getSchematicCamstandButtonOnImage() const {
|
|
manongjohn |
d6e3cc |
return m_schematicCamstandButtonOnImage;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QIcon getSchematicCamstandButtonTranspImage() const {
|
|
manongjohn |
d6e3cc |
return m_schematicCamstandButtonTranspImage;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QColor getSchematicCamstandButtonBgOffColor() const {
|
|
manongjohn |
d6e3cc |
return m_schematicCamstandButtonBgOffColor;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
QIcon getSchematicCamstandButtonOffImage() const {
|
|
manongjohn |
d6e3cc |
return m_schematicCamstandButtonOffImage;
|
|
manongjohn |
d6e3cc |
}
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
void getNodeColor(int ltype, QColor &nodeColor);
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
d6e3cc |
QColor getSelectedNodeTextColor();
|
|
manongjohn |
d6e3cc |
|
|
manongjohn |
a99cb6 |
void setCursorMode(CursorMode mode);
|
|
manongjohn |
a99cb6 |
|
|
Toshihiro Shimizu |
890ddd |
public slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void updateSchematic();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
signals:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void showPreview(TFxP);
|
|
Shinya Kitaoka |
120a6e |
void doCollapse(const QList<tfxp> &);</tfxp>
|
|
Shinya Kitaoka |
120a6e |
void doCollapse(QList<tstageobjectid>);</tstageobjectid>
|
|
Shinya Kitaoka |
120a6e |
void doExplodeChild(const QList<tfxp> &);</tfxp>
|
|
Shinya Kitaoka |
120a6e |
void doExplodeChild(QList<tstageobjectid>);</tstageobjectid>
|
|
Shinya Kitaoka |
120a6e |
void editObject();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
protected slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void onSceneChanged();
|
|
Shinya Kitaoka |
120a6e |
void onSceneSwitched();
|
|
Shinya Kitaoka |
120a6e |
void updateScenes();
|
|
Shinya Kitaoka |
120a6e |
void changeNodeSize();
|
|
Toshihiro Shimizu |
890ddd |
|
|
manongjohn |
a99cb6 |
void selectModeEnabled();
|
|
manongjohn |
a99cb6 |
void zoomModeEnabled();
|
|
manongjohn |
a99cb6 |
void handModeEnabled();
|
|
manongjohn |
a99cb6 |
|
|
Toshihiro Shimizu |
890ddd |
private:
|
|
Shinya Kitaoka |
120a6e |
SchematicSceneViewer *m_viewer;
|
|
Shinya Kitaoka |
120a6e |
StageSchematicScene *m_stageScene;
|
|
Shinya Kitaoka |
120a6e |
FxSchematicScene *m_fxScene;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TSceneHandle *m_sceneHandle;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QToolBar *m_stageToolbar, *m_commonToolbar, *m_fxToolbar, *m_swapToolbar;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QAction *m_fitSchematic, *m_centerOn, *m_reorder, *m_normalize, *m_nodeSize,
|
|
manongjohn |
a99cb6 |
*m_changeScene, *m_selectMode, *m_zoomMode, *m_handMode;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
bool m_fullSchematic, m_maximizedNode;
|
|
Toshihiro Shimizu |
890ddd |
|
|
manongjohn |
188c30 |
CursorMode m_cursorMode;
|
|
manongjohn |
a99cb6 |
|
|
Toshihiro Shimizu |
890ddd |
private:
|
|
Shinya Kitaoka |
120a6e |
void createToolbars();
|
|
Shinya Kitaoka |
120a6e |
void createActions();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void setStageSchematic();
|
|
Shinya Kitaoka |
120a6e |
void setFxSchematic();
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
#endif // SCHEMATICVIEWER_H
|