From: <le...@us...> - 2007-01-14 01:47:05
|
Revision: 161 http://svn.sourceforge.net/qcell/?rev=161&view=rev Author: lessm Date: 2007-01-13 15:01:23 -0800 (Sat, 13 Jan 2007) Log Message: ----------- - 1D view editable - in 2D and 3D view interface changed all controls on right side Modified Paths: -------------- trunk/qcell/baseheaders/basetools.h trunk/qcell/baseheaders/simulationwindow.h trunk/qcell/baseheaders/simulationwindow.ui trunk/qcell/basesources/basetools.cpp trunk/qcell/basesources/simulationwindow.cpp trunk/qcell/visgui/visgui.pro Added Paths: ----------- trunk/qcell/baseheaders/view2dtexttools.h trunk/qcell/baseheaders/view2dtexttools.ui trunk/qcell/baseheaders/view3dtools.h trunk/qcell/baseheaders/view3dtools.ui trunk/qcell/basesources/view2dtexttools.cpp trunk/qcell/basesources/view3dtools.cpp Modified: trunk/qcell/baseheaders/basetools.h =================================================================== --- trunk/qcell/baseheaders/basetools.h 2007-01-13 18:04:39 UTC (rev 160) +++ trunk/qcell/baseheaders/basetools.h 2007-01-13 23:01:23 UTC (rev 161) @@ -30,7 +30,7 @@ signals: void toolsModeUpdate(int mode); void command(int cmd); - void sumbolSelected(int index); + void symbolSelected(int index); }; #endif // BASETOOLS_H Modified: trunk/qcell/baseheaders/simulationwindow.h =================================================================== --- trunk/qcell/baseheaders/simulationwindow.h 2007-01-13 18:04:39 UTC (rev 160) +++ trunk/qcell/baseheaders/simulationwindow.h 2007-01-13 23:01:23 UTC (rev 161) @@ -13,8 +13,10 @@ #include <QProgressDialog> #include <QColorDialog> #include "ui_simulationwindow.h" -#include "../baseheaders/Renderer.h" -#include "../baseheaders/basetools.h" +#include "Renderer.h" +#include "basetools.h" +#include "view3dtools.h" +#include "view2dtexttools.h" #include <QToolBox> @@ -40,7 +42,12 @@ QToolBox *tools; BaseTools *basetools; + View3DTools *view3DTools; + View2DTextTools *view2DTextTools; + bool view2DTextColorFlag; + int view2DTextInterpretationMode; + char table2DUpdateRequest, table1DUpdateRequest, graph2DUpdateRequest; QGraphicsView *graphicsView2D; @@ -61,7 +68,7 @@ protected: void update2DTable(bool forceUpdate=0); void update2DGraph(void); - void update1DTable(void); + void update1DTable(bool forceUpdate=0); void update1DTableMem(void); void updateSymbolTable(void); void changeSymbol(int x, int y, int z); @@ -77,7 +84,9 @@ void zPlaneChange(int i); void dataUpdateRequest(void); void dataResizeRequest(void); - void GridView2DRepaint(void); + void GridView2DColor(bool flag); + void GrigView2DInterpretationMode(int mode); + void GridView1DRepaint(void); void GridView1DMemClear(void); @@ -87,10 +96,10 @@ void addSymbol(void); void removeSymbol(void); - void corectPerspectve(void); - void orthoPerspective(void); + void perspectiveUpdate(int mode); void GridView2DEdit(int row, int column); + void GridView1DEdit(int row, int column); void workModeChange(int mode); void selectSymbol(int index); Modified: trunk/qcell/baseheaders/simulationwindow.ui =================================================================== --- trunk/qcell/baseheaders/simulationwindow.ui 2007-01-13 18:04:39 UTC (rev 160) +++ trunk/qcell/baseheaders/simulationwindow.ui 2007-01-13 23:01:23 UTC (rev 161) @@ -5,7 +5,7 @@ <rect> <x>0</x> <y>0</y> - <width>508</width> + <width>513</width> <height>301</height> </rect> </property> @@ -42,133 +42,11 @@ <attribute name="title" > <string>3D View</string> </attribute> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QRadioButton" name="perspectiveView" > - <property name="text" > - <string>Perspective</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="ortho2DView" > - <property name="text" > - <string>Ortho2D</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> </widget> <widget class="QWidget" name="view2D" > <attribute name="title" > <string>2D Text View</string> </attribute> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QCheckBox" name="Grig2DColors" > - <property name="text" > - <string>Enable Colors</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="Grid2DValues" > - <property name="text" > - <string>Values</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="Grid2DSybmols" > - <property name="text" > - <string>Symbols</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="label" > - <property name="lineWidth" > - <number>3</number> - </property> - <property name="text" > - <string>Z Plane</string> - </property> - <property name="textFormat" > - <enum>Qt::AutoText</enum> - </property> - <property name="buddy" > - <cstring>Grid2DZplane</cstring> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="Grid2DZplane" /> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> </widget> <widget class="QWidget" name="view2DGraph" > <attribute name="title" > @@ -179,118 +57,92 @@ <attribute name="title" > <string>1D Text View</string> </attribute> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> + <widget class="QCheckBox" name="Grig1DColors" > + <property name="geometry" > + <rect> + <x>0</x> + <y>10</y> + <width>89</width> + <height>18</height> + </rect> </property> - <property name="spacing" > - <number>6</number> + <property name="text" > + <string>Enable Colors</string> </property> - <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QCheckBox" name="Grig1DColors" > - <property name="text" > - <string>Enable Colors</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="Grid1DValues" > - <property name="text" > - <string>Values</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="Grid1DSybmols" > - <property name="text" > - <string>Symbols</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="memClr" > - <property name="text" > - <string>Clear Memory</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> + </widget> + <widget class="QRadioButton" name="Grid1DValues" > + <property name="geometry" > + <rect> + <x>110</x> + <y>10</y> + <width>54</width> + <height>18</height> + </rect> + </property> + <property name="text" > + <string>Values</string> + </property> + <property name="checked" > + <bool>true</bool> + </property> + </widget> + <widget class="QPushButton" name="memClr" > + <property name="geometry" > + <rect> + <x>280</x> + <y>10</y> + <width>75</width> + <height>23</height> + </rect> + </property> + <property name="text" > + <string>Clear Memory</string> + </property> + </widget> + <widget class="QRadioButton" name="Grid1DSybmols" > + <property name="geometry" > + <rect> + <x>200</x> + <y>10</y> + <width>63</width> + <height>18</height> + </rect> + </property> + <property name="text" > + <string>Symbols</string> + </property> + </widget> </widget> <widget class="QWidget" name="symbolConfig" > <attribute name="title" > <string>Symbols Configuration</string> </attribute> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> + <widget class="QPushButton" name="addSymbol" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>75</width> + <height>23</height> + </rect> </property> - <property name="spacing" > - <number>6</number> + <property name="text" > + <string>Add Symbol</string> </property> - <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QPushButton" name="addSymbol" > - <property name="text" > - <string>Add Symbol</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="removeSymbol" > - <property name="text" > - <string>Remove Symbol</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> + </widget> + <widget class="QPushButton" name="removeSymbol" > + <property name="geometry" > + <rect> + <x>80</x> + <y>0</y> + <width>84</width> + <height>23</height> + </rect> + </property> + <property name="text" > + <string>Remove Symbol</string> + </property> + </widget> </widget> </widget> </widget> Added: trunk/qcell/baseheaders/view2dtexttools.h =================================================================== --- trunk/qcell/baseheaders/view2dtexttools.h (rev 0) +++ trunk/qcell/baseheaders/view2dtexttools.h 2007-01-13 23:01:23 UTC (rev 161) @@ -0,0 +1,34 @@ +#ifndef VIEW2DTEXTTOOLS_H +#define VIEW2DTEXTTOOLS_H + +#include <QWidget> +#include "ui_view2dtexttools.h" + +class View2DTextTools : public QWidget +{ + Q_OBJECT + +public: + View2DTextTools(QWidget *parent = 0); + ~View2DTextTools(); + void Pure2DMode(bool flag=0); + void setZPlaneMax(int max); + +private: + Ui::View2DTextToolsClass ui; + bool colorFlag; + int textMode; + +protected slots: + void ColorsClick(void); + void ValuesClick(void); + void SymbolsClicks(void); + void ZPlaneSet(int zplane); + +signals: + void colorsEnabled(bool flag); + void viewModeChenged(int mode); + void newZPlaneSet(int zplane); +}; + +#endif // VIEW2DTEXTTOOLS_H Added: trunk/qcell/baseheaders/view2dtexttools.ui =================================================================== --- trunk/qcell/baseheaders/view2dtexttools.ui (rev 0) +++ trunk/qcell/baseheaders/view2dtexttools.ui 2007-01-13 23:01:23 UTC (rev 161) @@ -0,0 +1,106 @@ +<ui version="4.0" > + <class>View2DTextToolsClass</class> + <widget class="QWidget" name="View2DTextToolsClass" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>102</width> + <height>157</height> + </rect> + </property> + <property name="windowTitle" > + <string>View2DTextTools</string> + </property> + <widget class="QGroupBox" name="groupBox" > + <property name="geometry" > + <rect> + <x>1</x> + <y>1</y> + <width>100</width> + <height>91</height> + </rect> + </property> + <property name="title" > + <string>View 2D Text</string> + </property> + <widget class="QToolButton" name="ValuesButton" > + <property name="geometry" > + <rect> + <x>10</x> + <y>40</y> + <width>81</width> + <height>20</height> + </rect> + </property> + <property name="text" > + <string>Values</string> + </property> + <property name="checkable" > + <bool>true</bool> + </property> + <property name="checked" > + <bool>true</bool> + </property> + </widget> + <widget class="QToolButton" name="ColorsButton" > + <property name="geometry" > + <rect> + <x>10</x> + <y>20</y> + <width>81</width> + <height>20</height> + </rect> + </property> + <property name="text" > + <string>Colors</string> + </property> + <property name="checkable" > + <bool>true</bool> + </property> + </widget> + <widget class="QToolButton" name="SymbolsButton" > + <property name="geometry" > + <rect> + <x>10</x> + <y>60</y> + <width>81</width> + <height>20</height> + </rect> + </property> + <property name="text" > + <string>Symbols</string> + </property> + <property name="checkable" > + <bool>true</bool> + </property> + </widget> + </widget> + <widget class="QGroupBox" name="ZPlaneGroup" > + <property name="geometry" > + <rect> + <x>1</x> + <y>100</y> + <width>100</width> + <height>51</height> + </rect> + </property> + <property name="title" > + <string>Z Plane</string> + </property> + <widget class="QSpinBox" name="Zplane" > + <property name="geometry" > + <rect> + <x>10</x> + <y>20</y> + <width>71</width> + <height>22</height> + </rect> + </property> + </widget> + </widget> + </widget> + <layoutdefault spacing="6" margin="11" /> + <resources/> + <connections/> +</ui> Added: trunk/qcell/baseheaders/view3dtools.h =================================================================== --- trunk/qcell/baseheaders/view3dtools.h (rev 0) +++ trunk/qcell/baseheaders/view3dtools.h 2007-01-13 23:01:23 UTC (rev 161) @@ -0,0 +1,27 @@ +#ifndef VIEW3DTOOLS_H +#define VIEW3DTOOLS_H + +#include <QWidget> +#include "ui_view3dtools.h" + +class View3DTools : public QWidget +{ + Q_OBJECT + +public: + View3DTools(QWidget *parent = 0); + ~View3DTools(); + +private: + Ui::View3DToolsClass ui; + int viewMode; + +protected slots: + void ViewChangePerspective(void); + void ViewChangeOrtho(void); + +signals: + void ViewModeUpdated(int mode); +}; + +#endif // VIEW3DTOOLS_H Added: trunk/qcell/baseheaders/view3dtools.ui =================================================================== --- trunk/qcell/baseheaders/view3dtools.ui (rev 0) +++ trunk/qcell/baseheaders/view3dtools.ui 2007-01-13 23:01:23 UTC (rev 161) @@ -0,0 +1,67 @@ +<ui version="4.0" > + <class>View3DToolsClass</class> + <widget class="QWidget" name="View3DToolsClass" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>102</width> + <height>80</height> + </rect> + </property> + <property name="windowTitle" > + <string>View3DTools</string> + </property> + <widget class="QGroupBox" name="ViewsTools" > + <property name="geometry" > + <rect> + <x>1</x> + <y>1</y> + <width>100</width> + <height>71</height> + </rect> + </property> + <property name="title" > + <string>View 3D</string> + </property> + <widget class="QToolButton" name="PerspectiveButton" > + <property name="geometry" > + <rect> + <x>10</x> + <y>20</y> + <width>81</width> + <height>20</height> + </rect> + </property> + <property name="text" > + <string>Perspective</string> + </property> + <property name="checkable" > + <bool>true</bool> + </property> + <property name="checked" > + <bool>true</bool> + </property> + </widget> + <widget class="QToolButton" name="OrthoButton" > + <property name="geometry" > + <rect> + <x>10</x> + <y>40</y> + <width>81</width> + <height>20</height> + </rect> + </property> + <property name="text" > + <string>Ortho</string> + </property> + <property name="checkable" > + <bool>true</bool> + </property> + </widget> + </widget> + </widget> + <layoutdefault spacing="6" margin="11" /> + <resources/> + <connections/> +</ui> Modified: trunk/qcell/basesources/basetools.cpp =================================================================== --- trunk/qcell/basesources/basetools.cpp 2007-01-13 18:04:39 UTC (rev 160) +++ trunk/qcell/basesources/basetools.cpp 2007-01-13 23:01:23 UTC (rev 161) @@ -17,7 +17,6 @@ BaseTools::~BaseTools() { - } QTableWidget * BaseTools::getValueTablePointer(void) @@ -65,5 +64,5 @@ void BaseTools::updateSelectedSymbol(int row, int column) { - emit sumbolSelected(row); + emit symbolSelected(row); } \ No newline at end of file Modified: trunk/qcell/basesources/simulationwindow.cpp =================================================================== --- trunk/qcell/basesources/simulationwindow.cpp 2007-01-13 18:04:39 UTC (rev 160) +++ trunk/qcell/basesources/simulationwindow.cpp 2007-01-13 23:01:23 UTC (rev 161) @@ -90,47 +90,73 @@ ui.view2DGraph->resize(ui.tabWidget->width(), ui.tabWidget->height() - 20); ui.symbolConfig->resize(ui.tabWidget->width(), ui.tabWidget->height() - 20); - renderer->move(0, 35); - renderer->resize(ui.view3D->width() - 7, ui.view3D->height() - 42); + renderer->move(1, 1); + renderer->resize(ui.view3D->width() - 1, ui.view3D->height() - 1); - table2D->move(0, 35); - table2D->resize(ui.view2D->width() - 7 , ui.view2D->height() - 42); + table2D->move(1, 1); + table2D->resize(ui.view2D->width() - 10 , ui.view2D->height() - 10); graphicsView2D->resize(ui.view2DGraph->width() - 7, ui.view2DGraph->height() - 7); table1D->move(0, 35); - table1D->resize(ui.view1D->width() - 7, 75); + table1D->resize(ui.view1D->width() - 7, 45); - table1DMem->move(0, 150); + table1DMem->move(0, 100); table1DMem->resize(ui.view1D->width() - 7, ui.view1D->height() - 157); symbolTable->move(0, 35); symbolTable->resize(ui.symbolConfig->width() - 7, ui.symbolConfig->height() -42); basetools->move(width() - 101, 0); + view3DTools->move(width() - 101, basetools->height() + 1); + view2DTextTools->move(width() - 101, basetools->height() + 1); + } void simulationWindow::paintEvent(QPaintEvent * event) { - if(ui.view2D->isVisible() && table2DUpdateRequest>0) + if(ui.view3D->isVisible()) { - if(table2DUpdateRequest==1) - update2DTable(); - else - update2DTable(1); - table2DUpdateRequest = 0; + view3DTools->show(); } - if(ui.view2DGraph->isVisible() && graph2DUpdateRequest) + else + view3DTools->hide(); + + if(ui.view2D->isVisible()) { - update2DGraph(); - graph2DUpdateRequest = 0; + view2DTextTools->show(); + if(table2DUpdateRequest>0) + { + if(table2DUpdateRequest==1) + update2DTable(); + else + update2DTable(1); + table2DUpdateRequest = 0; + } } + else + view2DTextTools->hide(); - if(ui.view1D->isVisible() && table1DUpdateRequest) + if(ui.view2DGraph->isVisible()) { - update1DTable(); - table1DUpdateRequest = 0; + if(graph2DUpdateRequest) + { + update2DGraph(); + graph2DUpdateRequest = 0; + } } + if(ui.view1D->isVisible()) + { + if(table1DUpdateRequest) + { + if(table1DUpdateRequest==1) + update1DTable(); + else + update1DTable(1); + table1DUpdateRequest = 0; + } + } + if(ui.symbolConfig->isVisible()) { updateSymbolTable(); @@ -156,7 +182,6 @@ if(table2D->columnCount()!= renderer->getStorage()->getSizeX() || table2D->rowCount()!= renderer->getStorage()->getSizeY()) { - ui.Grid2DZplane->setRange(0, renderer->getStorage()->getSizeZ()-1); table2D->clear(); table2D->setColumnCount(renderer->getStorage()->getSizeX()); table2D->setRowCount(renderer->getStorage()->getSizeY()); @@ -174,14 +199,14 @@ if(index>=renderer->getSymbolCount()) index = renderer->getSymbolCount() - 1; symbol = renderer->getSymbol(index); - if(ui.Grid2DValues->isChecked()) + if(view2DTextInterpretationMode==0) item = new QTableWidgetItem(tr("%1").arg(index)); else item = new QTableWidgetItem(symbol.textSybmol); item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); item->setTextAlignment(Qt::AlignCenter); - if(ui.Grig2DColors->isChecked()) + if(view2DTextColorFlag) { item->setBackgroundColor(symbol.color); item->setTextColor(symbol.textColor); @@ -209,7 +234,7 @@ index = renderer->getSymbolCount() - 1; symbol = renderer->getSymbol(index); item = table2D->item(y, x); - if(ui.Grid2DValues->isChecked()) + if(view2DTextInterpretationMode==0) { tmpString.setNum(index); if(item->text()!=tmpString) @@ -229,7 +254,7 @@ if(needUpdate) { item->setTextColor(Qt::black); - if(ui.Grig2DColors->isChecked()) + if(view2DTextColorFlag) { item->setBackgroundColor(symbol.color); item->setTextColor(symbol.textColor); @@ -261,10 +286,13 @@ } } -void simulationWindow::update1DTable(void) +void simulationWindow::update1DTable(bool forceUpdate) { + bool needUpdate=0; int index; - QTableWidgetItem *item;//, *memItem; + QString tmpString; + SYMBOL symbol; + QTableWidgetItem *item; if(table1D->columnCount()!= renderer->getStorage()->getSizeX()) { @@ -273,7 +301,6 @@ table1D->setRowHeight(0, 30); table1DMem->clear(); - //table1DMem->setRowCount(1); table1DMem->setColumnCount(renderer->getStorage()->getSizeX()); table1DMem->setRowHeight(0, 30); @@ -282,69 +309,71 @@ index = renderer->getStorage()->getValueAt_i(x); if(index>=renderer->getSymbolCount()) index = renderer->getSymbolCount() - 1; + symbol = renderer->getSymbol(index); table1D->setColumnWidth(x, 30); table1DMem->setColumnWidth(x, 30); if(ui.Grid1DSybmols->isChecked()) - { - item = new QTableWidgetItem(tr("%1").arg(renderer->getSymbol(index).textSybmol)); - } + item = new QTableWidgetItem(tr("%1").arg(symbol.textSybmol)); else - { item = new QTableWidgetItem(tr("%1").arg(index)); - } item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); item->setTextAlignment(Qt::AlignCenter); - item->setTextColor(Qt::black); + if(ui.Grig1DColors->isChecked()) { - item->setBackgroundColor(renderer->getSymbol(index).color); - if(item->textColor() == item->backgroundColor()) - { - if(item->backgroundColor()==Qt::black) - item->setTextColor(Qt::white); - else - item->setTextColor(Qt::black); - } + item->setBackgroundColor(symbol.color); + item->setTextColor(symbol.textColor); } else + { item->setBackgroundColor(Qt::white); - + item->setTextColor(Qt::black); + } table1D->setItem(0, x, item); - - /* - memItem = new QTableWidgetItem(*item); - table1DMem->setItem(0, x, memItem); - */ } } else { for(int x=0;x<renderer->getStorage()->getSizeX();++x) { + needUpdate = forceUpdate; index = renderer->getStorage()->getValueAt_i(x); if(index>=renderer->getSymbolCount()) index = renderer->getSymbolCount() - 1; + symbol = renderer->getSymbol(index); item = table1D->item(0, x); - if(ui.Grid1DSybmols->isChecked()) - item->setText(tr("%1").arg(renderer->getSymbol(index).textSybmol)); + if(ui.Grid1DValues->isChecked()) + { + tmpString.setNum(index); + if(item->text()!=tmpString) + { + item->setText(tmpString); + needUpdate = 1; + } + } else - item->setText(tr("%1").arg(index)); - - item->setTextColor(Qt::black); - if(ui.Grig1DColors->isChecked()) { - item->setBackgroundColor(renderer->getSymbol(index).color); - if(item->textColor() == item->backgroundColor()) + if(symbol.textSybmol!=(item->text())[0]) { - if(item->backgroundColor()==Qt::black) - item->setTextColor(Qt::white); - else - item->setTextColor(Qt::black); + item->setText(symbol.textSybmol); + needUpdate = 1; } } - else - item->setBackgroundColor(Qt::white); + if(needUpdate) + { + item->setTextColor(Qt::black); + if(ui.Grig1DColors->isChecked()) + { + item->setBackgroundColor(symbol.color); + item->setTextColor(symbol.textColor); + } + else + { + item->setTextColor(Qt::black); + item->setBackgroundColor(Qt::white); + } + } } } } @@ -455,12 +484,9 @@ ui.setupUi(this); renderer = new Renderer(ui.view3D); - ui.view3D->layout()->addWidget(renderer); renderer->resize(ui.view3D->width(), ui.view3D->height()); graphicsView2D = new QGraphicsView(ui.view2DGraph); - ui.view2DGraph->setLayout(new QVBoxLayout()); - ui.view2DGraph->layout()->addWidget(graphicsView2D); graphicsScene2D = new QGraphicsScene; pixmap = new QPixmap(0, 0); @@ -471,14 +497,11 @@ table1D = new QTableWidget(ui.view1D); - ui.view1D->layout()->addWidget(table1D); table1D->setRowCount(1); table1DMem = new QTableWidget(ui.view1D); - ui.view1D->layout()->addWidget(table1DMem); symbolTable = new QTableWidget(ui.symbolConfig); - ui.symbolConfig->layout()->addWidget(symbolTable); symbolTable->setColumnCount(5); symbolTable->setHorizontalHeaderItem(0, new QTableWidgetItem(tr("Value"))); symbolTable->setHorizontalHeaderItem(1, new QTableWidgetItem(tr("Symbol"))); @@ -487,15 +510,10 @@ symbolTable->setHorizontalHeaderItem(4, new QTableWidgetItem(tr("Hide Flag"))); table2D = new QTableWidget(ui.view2D); - ui.view2D->layout()->addWidget(table2D); - connect(ui.Grid2DZplane, SIGNAL(valueChanged(int)), SLOT(zPlaneChange(int))); + connect(renderer->getStorage(), SIGNAL(dataUpdated()), SLOT(dataUpdateRequest())); - connect(ui.Grid2DSybmols, SIGNAL(clicked(bool)), SLOT(GridView2DRepaint())); - connect(ui.Grid2DValues, SIGNAL(clicked(bool)), SLOT(GridView2DRepaint())); - connect(ui.Grig2DColors, SIGNAL(clicked(bool)), SLOT(GridView2DRepaint())); - connect(ui.Grid1DSybmols, SIGNAL(clicked(bool)), SLOT(GridView1DRepaint())); connect(ui.Grid1DValues, SIGNAL(clicked(bool)), SLOT(GridView1DRepaint())); connect(ui.Grig1DColors, SIGNAL(clicked(bool)), SLOT(GridView1DRepaint())); @@ -510,9 +528,6 @@ connect(ui.addSymbol, SIGNAL(clicked(bool)), SLOT(addSymbol())); connect(ui.removeSymbol, SIGNAL(clicked(bool)), SLOT(removeSymbol())); - connect(ui.perspectiveView, SIGNAL(clicked(bool)), SLOT(corectPerspectve())); - connect(ui.ortho2DView, SIGNAL(clicked(bool)), SLOT(orthoPerspective())); - table2DUpdateRequest = 0; table1DUpdateRequest = 0; @@ -520,13 +535,25 @@ basetools->getValueTablePointer()->setColumnCount(1); basetools->getValueTablePointer()->setHorizontalHeaderItem(0, new QTableWidgetItem(tr("Value"))); - selectedSymbol = 0; - workMode = 0; + selectedSymbol = 0; + workMode = 0; - connect(table2D, SIGNAL(cellClicked(int, int)), SLOT(GridView2DEdit(int, int))); + connect(table2D, SIGNAL(cellClicked(int, int)), SLOT(GridView2DEdit(int, int))); + connect(table1D, SIGNAL(cellClicked(int, int)), SLOT(GridView1DEdit(int, int))); - connect(basetools, SIGNAL(toolsModeUpdate(int)), SLOT(workModeChange(int))); - connect(basetools, SIGNAL(sumbolSelected(int)), SLOT(selectSymbol(int))); + connect(basetools, SIGNAL(toolsModeUpdate(int)), SLOT(workModeChange(int))); + connect(basetools, SIGNAL(symbolSelected(int)), SLOT(selectSymbol(int))); + + view3DTools = new View3DTools(this); + connect(view3DTools, SIGNAL(ViewModeUpdated(int)), SLOT(perspectiveUpdate(int))); + + view2DTextTools = new View2DTextTools(this); + view2DTextColorFlag = 0; + view2DTextInterpretationMode = 0; + connect(view2DTextTools, SIGNAL(newZPlaneSet(int)), SLOT(zPlaneChange(int))); + connect(view2DTextTools, SIGNAL(colorsEnabled(bool)), SLOT(GridView2DColor(bool))); + connect(view2DTextTools, SIGNAL(viewModeChenged(int)), SLOT(GrigView2DInterpretationMode(int))); + } simulationWindow::~simulationWindow() @@ -602,6 +629,9 @@ ui.tabWidget->setTabEnabled(2, 1); ui.tabWidget->setTabEnabled(3, 0); table2DUpdateRequest = 2; + view2DTextTools->setZPlaneMax(0); + view2DTextTools->Pure2DMode(1); + break; case 3: @@ -610,18 +640,27 @@ ui.tabWidget->setTabEnabled(2, 1); ui.tabWidget->setTabEnabled(3, 0); table2DUpdateRequest = 2; + view2DTextTools->setZPlaneMax(getStorage()->getSizeZ()-1); + view2DTextTools->Pure2DMode(0); break; } } -void simulationWindow::GridView2DRepaint() +void simulationWindow::GridView2DColor(bool flag) { + view2DTextColorFlag = flag; update2DTable(1); } +void simulationWindow::GrigView2DInterpretationMode(int mode) +{ + view2DTextInterpretationMode = mode; + update2DTable(1); +} + void simulationWindow::GridView1DRepaint() { - update1DTable(); + update1DTable(1); } void simulationWindow::GridView1DMemClear(void) @@ -643,7 +682,7 @@ renderer->setSymbol(row, temp); item->setText(temp); table2DUpdateRequest = 2; - table1DUpdateRequest = 1; + table1DUpdateRequest = 2; } else if(column==4) @@ -672,9 +711,9 @@ renderer->repaint(); if(ui.Grig1DColors->isChecked()) - table1DUpdateRequest = 1; + table1DUpdateRequest = 2; - if(ui.Grig2DColors->isChecked()) + if(view2DTextColorFlag) table2DUpdateRequest = 2; graph2DUpdateRequest = 1; @@ -699,18 +738,21 @@ updateSymbolTable(); } -void simulationWindow::corectPerspectve(void) +void simulationWindow::perspectiveUpdate(int mode) { - renderer->setRealPerspective(); - renderer->repaint(); + switch(mode) + { + case 0: + renderer->setRealPerspective(); + renderer->repaint(); + break; + case 1: + renderer->setOrtoPerspective(); + renderer->repaint(); + break; + } } -void simulationWindow::orthoPerspective(void) -{ - renderer->setOrtoPerspective(); - renderer->repaint(); -} - void simulationWindow::GridView2DEdit(int row, int column) { QTableWidgetItem *item; @@ -722,7 +764,7 @@ changeSymbol(column, row, z_plane); item = table2D->item(row, column); symbol = renderer->getSymbol(selectedSymbol); - if(ui.Grid2DValues->isChecked()) + if(view2DTextInterpretationMode==0) { tmpString.setNum(selectedSymbol); if(item->text()!=tmpString) @@ -742,7 +784,7 @@ if(needUpdate) { item->setTextColor(Qt::black); - if(ui.Grig2DColors->isChecked()) + if(view2DTextColorFlag) { item->setBackgroundColor(symbol.color); item->setTextColor(symbol.textColor); @@ -756,6 +798,51 @@ } } +void simulationWindow::GridView1DEdit(int row, int column) +{ + QTableWidgetItem *item; + bool needUpdate = 0; + SYMBOL symbol; + QString tmpString; + if(workMode==1) + { + changeSymbol(column, 0, 0); + item = table1D->item(0, column); + symbol = renderer->getSymbol(selectedSymbol); + if(ui.Grid1DValues->isChecked()) + { + tmpString.setNum(selectedSymbol); + if(item->text()!=tmpString) + { + item->setText(tmpString); + needUpdate = 1; + } + } + else + { + if(symbol.textSybmol!=(item->text())[0]) + { + item->setText(symbol.textSybmol); + needUpdate = 1; + } + } + if(needUpdate) + { + item->setTextColor(Qt::black); + if(ui.Grig1DColors->isChecked()) + { + item->setBackgroundColor(symbol.color); + item->setTextColor(symbol.textColor); + } + else + { + item->setTextColor(Qt::black); + item->setBackgroundColor(Qt::white); + } + } + } +} + void simulationWindow::workModeChange(int mode) { workMode = mode; Added: trunk/qcell/basesources/view2dtexttools.cpp =================================================================== --- trunk/qcell/basesources/view2dtexttools.cpp (rev 0) +++ trunk/qcell/basesources/view2dtexttools.cpp 2007-01-13 23:01:23 UTC (rev 161) @@ -0,0 +1,67 @@ +#include "view2dtexttools.h" + +View2DTextTools::View2DTextTools(QWidget *parent) + : QWidget(parent) +{ + ui.setupUi(this); + colorFlag = 0; + textMode = 0; + + connect(ui.ColorsButton, SIGNAL(clicked(bool)), SLOT(ColorsClick())); + connect(ui.SymbolsButton, SIGNAL(clicked(bool)), SLOT(SymbolsClicks())); + connect(ui.ValuesButton, SIGNAL(clicked(bool)), SLOT(ValuesClick())); + connect(ui.Zplane, SIGNAL(valueChanged(int)), SLOT(ZPlaneSet(int))); + ui.Zplane->setRange(0, 0); +} + +View2DTextTools::~View2DTextTools() +{ +} + +void View2DTextTools::Pure2DMode(bool flag) +{ + if(!flag) + ui.ZPlaneGroup->show(); + else + ui.ZPlaneGroup->hide(); +} + +void View2DTextTools::setZPlaneMax(int max) +{ + ui.Zplane->setRange(0, max); +} + +void View2DTextTools::ColorsClick(void) +{ + if(ui.ColorsButton->isChecked()) + emit colorsEnabled(1); + else + emit colorsEnabled(0); +} + +void View2DTextTools::ValuesClick(void) +{ + ui.ValuesButton->setChecked(1); + ui.SymbolsButton->setChecked(0); + if(textMode!=0) + { + textMode = 0; + emit viewModeChenged(0); + } +} + +void View2DTextTools::SymbolsClicks(void) +{ + ui.ValuesButton->setChecked(0); + ui.SymbolsButton->setChecked(1); + if(textMode!=1) + { + textMode = 1; + emit viewModeChenged(1); + } +} + +void View2DTextTools::ZPlaneSet(int zplane) +{ + emit newZPlaneSet(zplane); +} Added: trunk/qcell/basesources/view3dtools.cpp =================================================================== --- trunk/qcell/basesources/view3dtools.cpp (rev 0) +++ trunk/qcell/basesources/view3dtools.cpp 2007-01-13 23:01:23 UTC (rev 161) @@ -0,0 +1,37 @@ +#include "view3dtools.h" + +View3DTools::View3DTools(QWidget *parent) + : QWidget(parent) +{ + ui.setupUi(this); + viewMode = 0; + + connect(ui.PerspectiveButton, SIGNAL(clicked(bool)), SLOT(ViewChangePerspective())); + connect(ui.OrthoButton, SIGNAL(clicked(bool)), SLOT(ViewChangeOrtho())); +} + +View3DTools::~View3DTools() +{ +} + +void View3DTools::ViewChangePerspective(void) +{ + ui.PerspectiveButton->setChecked(1); + ui.OrthoButton->setChecked(0); + if(viewMode!=0) + { + viewMode = 0; + emit ViewModeUpdated(0); + } +} + +void View3DTools::ViewChangeOrtho(void) +{ + ui.PerspectiveButton->setChecked(0); + ui.OrthoButton->setChecked(1); + if(viewMode!=1) + { + viewMode = 1; + emit ViewModeUpdated(1); + } +} \ No newline at end of file Modified: trunk/qcell/visgui/visgui.pro =================================================================== --- trunk/qcell/visgui/visgui.pro 2007-01-13 18:04:39 UTC (rev 160) +++ trunk/qcell/visgui/visgui.pro 2007-01-13 23:01:23 UTC (rev 161) @@ -9,7 +9,9 @@ AboutDialog.ui \ ExperimentSetup.ui \ ../baseheaders/simulationwindow.ui \ - ../baseheaders/basetools.ui + ../baseheaders/basetools.ui \ + ../baseheaders/view3dtools.ui \ + ../baseheaders/view2dtexttools.ui HEADERS = MainWindow.h \ ExperimentSetup.h \ ../baseheaders/Client.h \ @@ -23,7 +25,9 @@ ../baseheaders/simulationwindow.h \ ../baseheaders/Renderer.h \ ../baseheaders/Calculator.h\ - ../baseheaders/basetools.h + ../baseheaders/basetools.h \ + ../baseheaders/view3dtools.h \ + ../baseheaders/view2dtexttools.h SOURCES = ../basesources/GenericParserPlugin.cpp \ main.cpp \ @@ -37,7 +41,9 @@ ../basesources/simulationwindow.cpp \ ../basesources/Renderer.cpp \ ../basesources/Calculator.cpp \ - ../basesources/basetools.cpp + ../basesources/basetools.cpp \ + ../basesources/view3dtools.cpp \ + ../basesources/view2dtexttools.cpp LIBS = -L../libs -lN -lFQT -lKI This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |