|
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.
|