Revision: 76170
http://sourceforge.net/p/brlcad/code/76170
Author: starseeker
Date: 2020-06-21 14:53:30 +0000 (Sun, 21 Jun 2020)
Log Message:
-----------
rename
Modified Paths:
--------------
brlcad/branches/qtged/src/qged/CMakeLists.txt
Added Paths:
-----------
brlcad/branches/qtged/src/qged/cadaccordion.cxx
brlcad/branches/qtged/src/qged/cadaccordion.h
Removed Paths:
-------------
brlcad/branches/qtged/src/qged/cadaccordian.cxx
brlcad/branches/qtged/src/qged/cadaccordian.h
Modified: brlcad/branches/qtged/src/qged/CMakeLists.txt
===================================================================
--- brlcad/branches/qtged/src/qged/CMakeLists.txt 2020-06-21 14:52:16 UTC
(rev 76169)
+++ brlcad/branches/qtged/src/qged/CMakeLists.txt 2020-06-21 14:53:30 UTC
(rev 76170)
@@ -20,7 +20,7 @@
set(qged_srcs
main.cxx
main_window.cxx
- cadaccordian.cxx
+ cadaccordion.cxx
cadapp.cxx
cadappexec.cxx
cadattributes.cxx
@@ -41,7 +41,7 @@
set(moc_headers
main_window.h
- cadaccordian.h
+ cadaccordion.h
cadapp.h
cadappexec.h
cadattributes.h
Deleted: brlcad/branches/qtged/src/qged/cadaccordian.cxx
===================================================================
--- brlcad/branches/qtged/src/qged/cadaccordian.cxx 2020-06-21 14:52:16 UTC
(rev 76169)
+++ brlcad/branches/qtged/src/qged/cadaccordian.cxx 2020-06-21 14:53:30 UTC
(rev 76170)
@@ -1,274 +0,0 @@
-#include "cadaccordian.h"
-#include "cadapp.h"
-#include <QPalette>
-#include <QColor>
-
-CADViewControls::CADViewControls(QWidget *pparent)
- : QWidget(pparent)
-{
- QVBoxLayout *mlayout = new QVBoxLayout();
- mlayout->setSpacing(0);
- mlayout->setContentsMargins(0,0,0,0);
- tpalette = new QToolPalette(this);
- info_view = new QWidget(this);
- info_view->setMinimumHeight(100);
- for(int i = 1; i < 8; i++) {
- QIcon *obj_icon = new QIcon();
- QString obj_label("tool controls ");
- obj_label.append(QString::number(i));
- QPushButton *obj_control = new QPushButton(obj_label);
- QToolPaletteElement *el = new QToolPaletteElement(0, obj_icon,
obj_control);
- tpalette->addElement(el);
- }
- mlayout->addWidget(tpalette);
- mlayout->addWidget(info_view);
- this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- this->setLayout(mlayout);
-}
-
-CADViewControls::~CADViewControls()
-{
- delete tpalette;
- delete info_view;
-}
-
-CADInstanceEdit::CADInstanceEdit(QWidget *pparent)
- : QWidget(pparent)
-{
- QVBoxLayout *mlayout = new QVBoxLayout();
- mlayout->setSpacing(0);
- mlayout->setContentsMargins(0,0,0,0);
- tpalette = new QToolPalette(this);
- info_view = new QWidget(this);
- info_view->setMinimumHeight(100);
- for(int i = 1; i < 4; i++) {
- QIcon *obj_icon = new QIcon();
- QString obj_label("tool controls ");
- obj_label.append(QString::number(i));
- QPushButton *obj_control = new QPushButton(obj_label);
- QToolPaletteElement *el = new QToolPaletteElement(0, obj_icon,
obj_control);
- tpalette->addElement(el);
- }
- mlayout->addWidget(tpalette);
- mlayout->addWidget(info_view);
- this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- this->setLayout(mlayout);
-}
-
-
-CADInstanceEdit::~CADInstanceEdit()
-{
- delete tpalette;
- delete info_view;
-}
-
-
-CADPrimitiveEdit::CADPrimitiveEdit(QWidget *pparent)
- : QWidget(pparent)
-{
- QVBoxLayout *mlayout = new QVBoxLayout();
- mlayout->setSpacing(0);
- mlayout->setContentsMargins(0,0,0,0);
- tpalette = new QToolPalette(this);
- shape_properties = new QWidget(this);
- shape_properties->setMinimumHeight(100);
- for(int i = 1; i < 15; i++) {
- QIcon *obj_icon = new QIcon();
- QString obj_label("tool controls ");
- obj_label.append(QString::number(i));
- QPushButton *obj_control = new QPushButton(obj_label);
- QToolPaletteElement *el = new QToolPaletteElement(0, obj_icon,
obj_control);
- tpalette->addElement(el);
- }
- mlayout->addWidget(tpalette);
- mlayout->addWidget(shape_properties);
- this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- this->setLayout(mlayout);
-}
-
-CADPrimitiveEdit::~CADPrimitiveEdit()
-{
- delete tpalette;
- delete shape_properties;
-}
-
-bool EditStateFilter::eventFilter(QObject *target, QEvent *e)
-{
- int interaction_mode = ((CADApp *)qApp)->interaction_mode;
- CADAccordian *accordian = ((CADApp *)qApp)->cadaccordian;
- if (e->type() == QEvent::MouseButtonPress) {
- QMouseEvent *me = (QMouseEvent *)e;
- QWidget *target_widget = static_cast<QWidget *>(target);
- QPoint mpos = target_widget->mapTo(accordian, me->pos());
-
- for (int i = 0; i < accordian->active_objects.size(); i++) {
- int margin = accordian->splitter->handleWidth()/2;
- QPushButton *obj_toggle = accordian->active_objects.at(i)->toggle;
- QPoint obj_topleft = obj_toggle->mapTo(accordian,
obj_toggle->geometry().topLeft());
- obj_topleft.setX(obj_topleft.x() - margin);
- obj_topleft.setY(obj_topleft.y() - margin);
- QPoint obj_bottomright = obj_toggle->mapTo(accordian,
obj_toggle->geometry().bottomRight());
- obj_bottomright.setX(obj_bottomright.x() + margin);
- obj_bottomright.setY(obj_bottomright.y() + margin);
- QRect obj_rect(obj_topleft, obj_bottomright);
- if (obj_rect.contains(mpos)) {
- return QObject::eventFilter(target, e);
- }
- }
-
- QPoint view_ctrls_topleft = accordian->view_ctrls->mapTo(accordian,
accordian->view_ctrls->geometry().topLeft());
- QPoint view_ctrls_bottomright = accordian->view_ctrls->mapTo(accordian,
accordian->view_ctrls->geometry().bottomRight());
- QRect view_ctrls_rect(view_ctrls_topleft, view_ctrls_bottomright);
-
- QPoint instance_ctrls_topleft =
accordian->instance_ctrls->mapTo(accordian,
accordian->instance_ctrls->geometry().topLeft());
- QPoint instance_ctrls_bottomright =
accordian->instance_ctrls->mapTo(accordian,
accordian->instance_ctrls->geometry().bottomRight());
- QRect instance_ctrls_rect(instance_ctrls_topleft,
instance_ctrls_bottomright);
-
- QPoint primitive_ctrls_topleft =
accordian->primitive_ctrls->mapTo(accordian,
accordian->primitive_ctrls->geometry().topLeft());
- QPoint primitive_ctrls_bottomright =
accordian->primitive_ctrls->mapTo(accordian,
accordian->primitive_ctrls->geometry().bottomRight());
- QRect primitive_ctrls_rect(primitive_ctrls_topleft,
primitive_ctrls_bottomright);
-
- QPoint stdpropview_topleft = accordian->stdpropview->mapTo(accordian,
accordian->stdpropview->geometry().topLeft());
- QPoint stdpropview_bottomright =
accordian->stdpropview->mapTo(accordian,
accordian->stdpropview->geometry().bottomRight());
- QRect stdpropview_rect(stdpropview_topleft, stdpropview_bottomright);
-
- QPoint userpropview_topleft = accordian->userpropview->mapTo(accordian,
accordian->userpropview->geometry().topLeft());
- QPoint userpropview_bottomright =
accordian->userpropview->mapTo(accordian,
accordian->userpropview->geometry().bottomRight());
- QRect userpropview_rect(userpropview_topleft, userpropview_bottomright);
-
- if (view_ctrls_rect.contains(mpos)) {
- ((CADApp *)qApp)->interaction_mode = 0;
- accordian->highlight_selected(accordian->view_obj);
- }
- if (instance_ctrls_rect.contains(mpos)) {
- ((CADApp *)qApp)->interaction_mode = 1;
- accordian->highlight_selected(accordian->instance_obj);
- }
-
- if (primitive_ctrls_rect.contains(mpos)) {
- ((CADApp *)qApp)->interaction_mode = 2;
- accordian->highlight_selected(accordian->primitive_obj);
- }
-
- if (stdpropview_rect.contains(mpos)) {
- ((CADApp *)qApp)->interaction_mode = 2;
- accordian->highlight_selected(accordian->stdprop_obj);
- }
-
- if (userpropview_rect.contains(mpos)) {
- ((CADApp *)qApp)->interaction_mode = 2;
- accordian->highlight_selected(accordian->userprop_obj);
- }
-
- CADTreeView *tview = (CADTreeView *)(((CADApp *)qApp)->cadtreeview);
- CADTreeModel *tmodel = (CADTreeModel *)(tview->model());
-
- if (interaction_mode != ((CADApp *)qApp)->interaction_mode) {
- tmodel->update_selected_node_relationships(tview->selected());
- }
- }
-
- return QObject::eventFilter(target, e);
-}
-
-
-CADAccordian::CADAccordian(QWidget *pparent)
- : QAccordianWidget(pparent)
-{
- view_ctrls = new CADViewControls(this);
- instance_ctrls = new CADInstanceEdit(this);
- primitive_ctrls = new CADPrimitiveEdit(this);
-
- stdpropmodel = new CADAttributesModel(0, DBI_NULL, RT_DIR_NULL, 1, 0);
- stdpropview = new CADAttributesView(this, 1);
- stdpropview->setModel(stdpropmodel);
-
- userpropmodel = new CADAttributesModel(0, DBI_NULL, RT_DIR_NULL, 0, 1);
- userpropview = new CADAttributesView(this, 0);
- userpropview->setModel(userpropmodel);
-
- view_obj = new QAccordianObject(this, view_ctrls, "View Controls");
- this->addObject(view_obj);
- active_objects.push_back(view_obj);
- instance_obj = new QAccordianObject(this, instance_ctrls, "Instance
Editing");
- this->addObject(instance_obj);
- active_objects.push_back(instance_obj);
- primitive_obj = new QAccordianObject(this, primitive_ctrls, "Object
Editing");
- this->addObject(primitive_obj);
- active_objects.push_back(primitive_obj);
- stdprop_obj = new QAccordianObject(this, stdpropview, "Standard
Attributes");
- this->addObject(stdprop_obj);
- active_objects.push_back(stdprop_obj);
- userprop_obj = new QAccordianObject(this, userpropview, "User Attributes");
- this->addObject(userprop_obj);
- active_objects.push_back(userprop_obj);
-
- QList<QWidget*> list = this->findChildren<QWidget *>();
- EditStateFilter *efilter = new EditStateFilter();
- foreach(QWidget *w, list) {
- w->installEventFilter(efilter);
- }
-
- highlight_selected(view_obj);
-}
-
-void
-CADAccordian::highlight_selected(QAccordianObject *selected)
-{
- QString highlight_style("background-color: rgb(10,10,200);");
- if (view_obj == selected) {
- view_obj->toggle->setStyleSheet(highlight_style);
- } else {
- view_obj->toggle->setStyleSheet("");
- }
- if (instance_obj == selected) {
- instance_obj->toggle->setStyleSheet(highlight_style);
- } else {
- instance_obj->toggle->setStyleSheet("");
- }
- if (primitive_obj == selected) {
- primitive_obj->toggle->setStyleSheet(highlight_style);
- } else {
- primitive_obj->toggle->setStyleSheet("");
- }
- if (stdprop_obj == selected) {
- stdprop_obj->toggle->setStyleSheet(highlight_style);
- } else {
- stdprop_obj->toggle->setStyleSheet("");
- }
- if (userprop_obj == selected) {
- userprop_obj->toggle->setStyleSheet(highlight_style);
- } else {
- userprop_obj->toggle->setStyleSheet("");
- }
-
- view_obj->toggle->update();
- instance_obj->toggle->update();
- primitive_obj->toggle->update();
- stdprop_obj->toggle->update();
- userprop_obj->toggle->update();
-}
-
-CADAccordian::~CADAccordian()
-{
- delete view_ctrls;
- delete instance_ctrls;
- delete primitive_ctrls;
- delete stdpropmodel;
- delete stdpropview;
- delete userpropmodel;
- delete userpropview;
-}
-
-
-/*
- * Local Variables:
- * mode: C++
- * tab-width: 8
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */
-
Deleted: brlcad/branches/qtged/src/qged/cadaccordian.h
===================================================================
--- brlcad/branches/qtged/src/qged/cadaccordian.h 2020-06-21 14:52:16 UTC
(rev 76169)
+++ brlcad/branches/qtged/src/qged/cadaccordian.h 2020-06-21 14:53:30 UTC
(rev 76170)
@@ -1,100 +0,0 @@
-#ifndef CADACCORDIAN_H
-#define CADACCORDIAN_H
-#include "cadtreemodel.h"
-#include "cadattributes.h"
-#include "QToolPalette.h"
-#include "QAccordianWidget.h"
-
-class CADViewControls : public QWidget
-{
- Q_OBJECT
-
- public:
- CADViewControls(QWidget *pparent = 0);
- ~CADViewControls();
-
- private:
- QToolPalette *tpalette;
- QWidget *info_view;
-};
-
-class CADInstanceEdit : public QWidget
-{
- Q_OBJECT
-
- public:
- CADInstanceEdit(QWidget *pparent = 0);
- ~CADInstanceEdit();
-
- private:
- QToolPalette *tpalette;
- QWidget *info_view;
-};
-
-class CADPrimitiveEdit : public QWidget
-{
- Q_OBJECT
-
- public:
- CADPrimitiveEdit(QWidget *pparent = 0);
- ~CADPrimitiveEdit();
-
- private:
- QToolPalette *tpalette;
- QWidget *shape_properties;
-};
-
-class EditStateFilter : public QObject
-{
- Q_OBJECT
-
- protected:
- bool eventFilter(QObject *target, QEvent *e);
-};
-
-class CADAccordian : public QAccordianWidget
-{
- Q_OBJECT
- public:
- CADAccordian(QWidget *pparent);
- ~CADAccordian();
-
- void highlight_selected(QAccordianObject *);
-
- CADViewControls *view_ctrls;
- QAccordianObject *view_obj;
- CADInstanceEdit *instance_ctrls;
- QAccordianObject *instance_obj;
- CADPrimitiveEdit *primitive_ctrls;
- QAccordianObject *primitive_obj;
- CADAttributesModel *stdpropmodel;
- CADAttributesView *stdpropview;
- QAccordianObject *stdprop_obj;
- CADAttributesModel *userpropmodel;
- CADAttributesView *userpropview;
- QAccordianObject *userprop_obj;
- // Need to create the following
-#if 0
- CADAttributesModel *globalpropmodel;
- CADAttributesView *globalpropview;
- QAccordianObject *globalprop_obj;
-
- Tools Palette (measurement, nirt, raytracing(maybe), etc.)
- Primitive and procedural object creation (would be cool if we could do
a wireframe-follows-mouse thing where each click of the mouse inserted a copy
of the primitive with the current values at the specified point...)
-#endif
- QVector<QAccordianObject *> active_objects;
-};
-
-#endif /* CADACCORDIAN_H */
-
-/*
- * Local Variables:
- * mode: C++
- * tab-width: 8
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */
-
Copied: brlcad/branches/qtged/src/qged/cadaccordion.cxx (from rev 76169,
brlcad/branches/qtged/src/qged/cadaccordian.cxx)
===================================================================
--- brlcad/branches/qtged/src/qged/cadaccordion.cxx
(rev 0)
+++ brlcad/branches/qtged/src/qged/cadaccordion.cxx 2020-06-21 14:53:30 UTC
(rev 76170)
@@ -0,0 +1,274 @@
+#include "cadaccordian.h"
+#include "cadapp.h"
+#include <QPalette>
+#include <QColor>
+
+CADViewControls::CADViewControls(QWidget *pparent)
+ : QWidget(pparent)
+{
+ QVBoxLayout *mlayout = new QVBoxLayout();
+ mlayout->setSpacing(0);
+ mlayout->setContentsMargins(0,0,0,0);
+ tpalette = new QToolPalette(this);
+ info_view = new QWidget(this);
+ info_view->setMinimumHeight(100);
+ for(int i = 1; i < 8; i++) {
+ QIcon *obj_icon = new QIcon();
+ QString obj_label("tool controls ");
+ obj_label.append(QString::number(i));
+ QPushButton *obj_control = new QPushButton(obj_label);
+ QToolPaletteElement *el = new QToolPaletteElement(0, obj_icon,
obj_control);
+ tpalette->addElement(el);
+ }
+ mlayout->addWidget(tpalette);
+ mlayout->addWidget(info_view);
+ this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ this->setLayout(mlayout);
+}
+
+CADViewControls::~CADViewControls()
+{
+ delete tpalette;
+ delete info_view;
+}
+
+CADInstanceEdit::CADInstanceEdit(QWidget *pparent)
+ : QWidget(pparent)
+{
+ QVBoxLayout *mlayout = new QVBoxLayout();
+ mlayout->setSpacing(0);
+ mlayout->setContentsMargins(0,0,0,0);
+ tpalette = new QToolPalette(this);
+ info_view = new QWidget(this);
+ info_view->setMinimumHeight(100);
+ for(int i = 1; i < 4; i++) {
+ QIcon *obj_icon = new QIcon();
+ QString obj_label("tool controls ");
+ obj_label.append(QString::number(i));
+ QPushButton *obj_control = new QPushButton(obj_label);
+ QToolPaletteElement *el = new QToolPaletteElement(0, obj_icon,
obj_control);
+ tpalette->addElement(el);
+ }
+ mlayout->addWidget(tpalette);
+ mlayout->addWidget(info_view);
+ this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ this->setLayout(mlayout);
+}
+
+
+CADInstanceEdit::~CADInstanceEdit()
+{
+ delete tpalette;
+ delete info_view;
+}
+
+
+CADPrimitiveEdit::CADPrimitiveEdit(QWidget *pparent)
+ : QWidget(pparent)
+{
+ QVBoxLayout *mlayout = new QVBoxLayout();
+ mlayout->setSpacing(0);
+ mlayout->setContentsMargins(0,0,0,0);
+ tpalette = new QToolPalette(this);
+ shape_properties = new QWidget(this);
+ shape_properties->setMinimumHeight(100);
+ for(int i = 1; i < 15; i++) {
+ QIcon *obj_icon = new QIcon();
+ QString obj_label("tool controls ");
+ obj_label.append(QString::number(i));
+ QPushButton *obj_control = new QPushButton(obj_label);
+ QToolPaletteElement *el = new QToolPaletteElement(0, obj_icon,
obj_control);
+ tpalette->addElement(el);
+ }
+ mlayout->addWidget(tpalette);
+ mlayout->addWidget(shape_properties);
+ this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ this->setLayout(mlayout);
+}
+
+CADPrimitiveEdit::~CADPrimitiveEdit()
+{
+ delete tpalette;
+ delete shape_properties;
+}
+
+bool EditStateFilter::eventFilter(QObject *target, QEvent *e)
+{
+ int interaction_mode = ((CADApp *)qApp)->interaction_mode;
+ CADAccordian *accordian = ((CADApp *)qApp)->cadaccordian;
+ if (e->type() == QEvent::MouseButtonPress) {
+ QMouseEvent *me = (QMouseEvent *)e;
+ QWidget *target_widget = static_cast<QWidget *>(target);
+ QPoint mpos = target_widget->mapTo(accordian, me->pos());
+
+ for (int i = 0; i < accordian->active_objects.size(); i++) {
+ int margin = accordian->splitter->handleWidth()/2;
+ QPushButton *obj_toggle = accordian->active_objects.at(i)->toggle;
+ QPoint obj_topleft = obj_toggle->mapTo(accordian,
obj_toggle->geometry().topLeft());
+ obj_topleft.setX(obj_topleft.x() - margin);
+ obj_topleft.setY(obj_topleft.y() - margin);
+ QPoint obj_bottomright = obj_toggle->mapTo(accordian,
obj_toggle->geometry().bottomRight());
+ obj_bottomright.setX(obj_bottomright.x() + margin);
+ obj_bottomright.setY(obj_bottomright.y() + margin);
+ QRect obj_rect(obj_topleft, obj_bottomright);
+ if (obj_rect.contains(mpos)) {
+ return QObject::eventFilter(target, e);
+ }
+ }
+
+ QPoint view_ctrls_topleft = accordian->view_ctrls->mapTo(accordian,
accordian->view_ctrls->geometry().topLeft());
+ QPoint view_ctrls_bottomright = accordian->view_ctrls->mapTo(accordian,
accordian->view_ctrls->geometry().bottomRight());
+ QRect view_ctrls_rect(view_ctrls_topleft, view_ctrls_bottomright);
+
+ QPoint instance_ctrls_topleft =
accordian->instance_ctrls->mapTo(accordian,
accordian->instance_ctrls->geometry().topLeft());
+ QPoint instance_ctrls_bottomright =
accordian->instance_ctrls->mapTo(accordian,
accordian->instance_ctrls->geometry().bottomRight());
+ QRect instance_ctrls_rect(instance_ctrls_topleft,
instance_ctrls_bottomright);
+
+ QPoint primitive_ctrls_topleft =
accordian->primitive_ctrls->mapTo(accordian,
accordian->primitive_ctrls->geometry().topLeft());
+ QPoint primitive_ctrls_bottomright =
accordian->primitive_ctrls->mapTo(accordian,
accordian->primitive_ctrls->geometry().bottomRight());
+ QRect primitive_ctrls_rect(primitive_ctrls_topleft,
primitive_ctrls_bottomright);
+
+ QPoint stdpropview_topleft = accordian->stdpropview->mapTo(accordian,
accordian->stdpropview->geometry().topLeft());
+ QPoint stdpropview_bottomright =
accordian->stdpropview->mapTo(accordian,
accordian->stdpropview->geometry().bottomRight());
+ QRect stdpropview_rect(stdpropview_topleft, stdpropview_bottomright);
+
+ QPoint userpropview_topleft = accordian->userpropview->mapTo(accordian,
accordian->userpropview->geometry().topLeft());
+ QPoint userpropview_bottomright =
accordian->userpropview->mapTo(accordian,
accordian->userpropview->geometry().bottomRight());
+ QRect userpropview_rect(userpropview_topleft, userpropview_bottomright);
+
+ if (view_ctrls_rect.contains(mpos)) {
+ ((CADApp *)qApp)->interaction_mode = 0;
+ accordian->highlight_selected(accordian->view_obj);
+ }
+ if (instance_ctrls_rect.contains(mpos)) {
+ ((CADApp *)qApp)->interaction_mode = 1;
+ accordian->highlight_selected(accordian->instance_obj);
+ }
+
+ if (primitive_ctrls_rect.contains(mpos)) {
+ ((CADApp *)qApp)->interaction_mode = 2;
+ accordian->highlight_selected(accordian->primitive_obj);
+ }
+
+ if (stdpropview_rect.contains(mpos)) {
+ ((CADApp *)qApp)->interaction_mode = 2;
+ accordian->highlight_selected(accordian->stdprop_obj);
+ }
+
+ if (userpropview_rect.contains(mpos)) {
+ ((CADApp *)qApp)->interaction_mode = 2;
+ accordian->highlight_selected(accordian->userprop_obj);
+ }
+
+ CADTreeView *tview = (CADTreeView *)(((CADApp *)qApp)->cadtreeview);
+ CADTreeModel *tmodel = (CADTreeModel *)(tview->model());
+
+ if (interaction_mode != ((CADApp *)qApp)->interaction_mode) {
+ tmodel->update_selected_node_relationships(tview->selected());
+ }
+ }
+
+ return QObject::eventFilter(target, e);
+}
+
+
+CADAccordian::CADAccordian(QWidget *pparent)
+ : QAccordianWidget(pparent)
+{
+ view_ctrls = new CADViewControls(this);
+ instance_ctrls = new CADInstanceEdit(this);
+ primitive_ctrls = new CADPrimitiveEdit(this);
+
+ stdpropmodel = new CADAttributesModel(0, DBI_NULL, RT_DIR_NULL, 1, 0);
+ stdpropview = new CADAttributesView(this, 1);
+ stdpropview->setModel(stdpropmodel);
+
+ userpropmodel = new CADAttributesModel(0, DBI_NULL, RT_DIR_NULL, 0, 1);
+ userpropview = new CADAttributesView(this, 0);
+ userpropview->setModel(userpropmodel);
+
+ view_obj = new QAccordianObject(this, view_ctrls, "View Controls");
+ this->addObject(view_obj);
+ active_objects.push_back(view_obj);
+ instance_obj = new QAccordianObject(this, instance_ctrls, "Instance
Editing");
+ this->addObject(instance_obj);
+ active_objects.push_back(instance_obj);
+ primitive_obj = new QAccordianObject(this, primitive_ctrls, "Object
Editing");
+ this->addObject(primitive_obj);
+ active_objects.push_back(primitive_obj);
+ stdprop_obj = new QAccordianObject(this, stdpropview, "Standard
Attributes");
+ this->addObject(stdprop_obj);
+ active_objects.push_back(stdprop_obj);
+ userprop_obj = new QAccordianObject(this, userpropview, "User Attributes");
+ this->addObject(userprop_obj);
+ active_objects.push_back(userprop_obj);
+
+ QList<QWidget*> list = this->findChildren<QWidget *>();
+ EditStateFilter *efilter = new EditStateFilter();
+ foreach(QWidget *w, list) {
+ w->installEventFilter(efilter);
+ }
+
+ highlight_selected(view_obj);
+}
+
+void
+CADAccordian::highlight_selected(QAccordianObject *selected)
+{
+ QString highlight_style("background-color: rgb(10,10,200);");
+ if (view_obj == selected) {
+ view_obj->toggle->setStyleSheet(highlight_style);
+ } else {
+ view_obj->toggle->setStyleSheet("");
+ }
+ if (instance_obj == selected) {
+ instance_obj->toggle->setStyleSheet(highlight_style);
+ } else {
+ instance_obj->toggle->setStyleSheet("");
+ }
+ if (primitive_obj == selected) {
+ primitive_obj->toggle->setStyleSheet(highlight_style);
+ } else {
+ primitive_obj->toggle->setStyleSheet("");
+ }
+ if (stdprop_obj == selected) {
+ stdprop_obj->toggle->setStyleSheet(highlight_style);
+ } else {
+ stdprop_obj->toggle->setStyleSheet("");
+ }
+ if (userprop_obj == selected) {
+ userprop_obj->toggle->setStyleSheet(highlight_style);
+ } else {
+ userprop_obj->toggle->setStyleSheet("");
+ }
+
+ view_obj->toggle->update();
+ instance_obj->toggle->update();
+ primitive_obj->toggle->update();
+ stdprop_obj->toggle->update();
+ userprop_obj->toggle->update();
+}
+
+CADAccordian::~CADAccordian()
+{
+ delete view_ctrls;
+ delete instance_ctrls;
+ delete primitive_ctrls;
+ delete stdpropmodel;
+ delete stdpropview;
+ delete userpropmodel;
+ delete userpropview;
+}
+
+
+/*
+ * Local Variables:
+ * mode: C++
+ * tab-width: 8
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * c-file-style: "stroustrup"
+ * End:
+ * ex: shiftwidth=4 tabstop=8
+ */
+
Copied: brlcad/branches/qtged/src/qged/cadaccordion.h (from rev 76169,
brlcad/branches/qtged/src/qged/cadaccordian.h)
===================================================================
--- brlcad/branches/qtged/src/qged/cadaccordion.h
(rev 0)
+++ brlcad/branches/qtged/src/qged/cadaccordion.h 2020-06-21 14:53:30 UTC
(rev 76170)
@@ -0,0 +1,100 @@
+#ifndef CADACCORDIAN_H
+#define CADACCORDIAN_H
+#include "cadtreemodel.h"
+#include "cadattributes.h"
+#include "QToolPalette.h"
+#include "QAccordianWidget.h"
+
+class CADViewControls : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ CADViewControls(QWidget *pparent = 0);
+ ~CADViewControls();
+
+ private:
+ QToolPalette *tpalette;
+ QWidget *info_view;
+};
+
+class CADInstanceEdit : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ CADInstanceEdit(QWidget *pparent = 0);
+ ~CADInstanceEdit();
+
+ private:
+ QToolPalette *tpalette;
+ QWidget *info_view;
+};
+
+class CADPrimitiveEdit : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ CADPrimitiveEdit(QWidget *pparent = 0);
+ ~CADPrimitiveEdit();
+
+ private:
+ QToolPalette *tpalette;
+ QWidget *shape_properties;
+};
+
+class EditStateFilter : public QObject
+{
+ Q_OBJECT
+
+ protected:
+ bool eventFilter(QObject *target, QEvent *e);
+};
+
+class CADAccordian : public QAccordianWidget
+{
+ Q_OBJECT
+ public:
+ CADAccordian(QWidget *pparent);
+ ~CADAccordian();
+
+ void highlight_selected(QAccordianObject *);
+
+ CADViewControls *view_ctrls;
+ QAccordianObject *view_obj;
+ CADInstanceEdit *instance_ctrls;
+ QAccordianObject *instance_obj;
+ CADPrimitiveEdit *primitive_ctrls;
+ QAccordianObject *primitive_obj;
+ CADAttributesModel *stdpropmodel;
+ CADAttributesView *stdpropview;
+ QAccordianObject *stdprop_obj;
+ CADAttributesModel *userpropmodel;
+ CADAttributesView *userpropview;
+ QAccordianObject *userprop_obj;
+ // Need to create the following
+#if 0
+ CADAttributesModel *globalpropmodel;
+ CADAttributesView *globalpropview;
+ QAccordianObject *globalprop_obj;
+
+ Tools Palette (measurement, nirt, raytracing(maybe), etc.)
+ Primitive and procedural object creation (would be cool if we could do
a wireframe-follows-mouse thing where each click of the mouse inserted a copy
of the primitive with the current values at the specified point...)
+#endif
+ QVector<QAccordianObject *> active_objects;
+};
+
+#endif /* CADACCORDIAN_H */
+
+/*
+ * Local Variables:
+ * mode: C++
+ * tab-width: 8
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * c-file-style: "stroustrup"
+ * End:
+ * ex: shiftwidth=4 tabstop=8
+ */
+
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits