diff --git a/src/fgt/edit_texture/edit_texture.pro b/src/fgt/edit_texture/edit_texture.pro
index 166fd7bd2..9d75527c9 100644
--- a/src/fgt/edit_texture/edit_texture.pro
+++ b/src/fgt/edit_texture/edit_texture.pro
@@ -2,7 +2,8 @@ TEMPLATE = lib
CONFIG += plugin
INCLUDEPATH += ../.. ../../../../sf ../../../../code/lib/glew/include
HEADERS = edittexture.h textureeditor.h renderarea.h ui_textureeditor.h ../../../../sf/wrap/gui/trackball.h
-SOURCES = edittexture.cpp ../../../../code/lib/glew/src/glew.c textureeditor.cpp renderarea.cpp ../../../../sf/wrap/gui/trackball.cpp
+SOURCES = edittexture.cpp ../../../../code/lib/glew/src/glew.c textureeditor.cpp renderarea.cpp ../../../../sf/wrap/gui/trackball.cpp ../../../../sf/wrap/gui/trackmode.cpp
+
TARGET = edit_texture
DESTDIR = ../../meshlab/plugins
DEFINES += GLEW_STATIC
diff --git a/src/fgt/edit_texture/meshlab.qrc b/src/fgt/edit_texture/meshlab.qrc
index 535a81689..ea486d062 100644
--- a/src/fgt/edit_texture/meshlab.qrc
+++ b/src/fgt/edit_texture/meshlab.qrc
@@ -4,5 +4,6 @@
images/sel_rect.png
images/sel_rect_plus.png
images/sel_rect_minus.png
+ images/sel_move.png
diff --git a/src/fgt/edit_texture/renderarea.cpp b/src/fgt/edit_texture/renderarea.cpp
index f7633a54b..301db7e14 100644
--- a/src/fgt/edit_texture/renderarea.cpp
+++ b/src/fgt/edit_texture/renderarea.cpp
@@ -2,7 +2,6 @@
#include "renderarea.h"
#include "textureeditor.h"
#include
-#include
#include
#include
@@ -29,8 +28,11 @@ RenderArea::RenderArea(QWidget *parent, QString textureName, MeshModel *m, unsig
tb = new Trackball();
tb->center = Point3f(0, 0, 0);
tb->radius = 1;
+ panX = 0; panY = 0;
+ oldPX = 0; oldPY = 0;
brush = QBrush(Qt::green);
+ mode = View;
this->setMouseTracking(true);
this->setCursor(Qt::PointingHandCursor);
@@ -76,7 +78,7 @@ void RenderArea::paintEvent(QPaintEvent *)
tb->GetView();
tb->Apply(true);
- int maxX = 0, maxY = 0, minX = 0, minY = 0; // For texCoord out of border
+ maxX = 0; maxY = 0; minX = 0; minY = 0;
if (image != QImage())
{
glEnable(GL_COLOR_LOGIC_OP);
@@ -86,14 +88,15 @@ void RenderArea::paintEvent(QPaintEvent *)
glLineWidth(2);
for (unsigned i = 0; i < model->cm.face.size(); i++)
{
- // While drawning, it counts the number of 'planes'
- if (model->cm.face[i].WT(0).u() > maxX || model->cm.face[i].WT(1).u() > maxX || model->cm.face[i].WT(2).u() > maxX) maxX++;
- if (model->cm.face[i].WT(0).v() > maxY || model->cm.face[i].WT(1).v() > maxY || model->cm.face[i].WT(2).v() > maxY) maxY++;
- if (model->cm.face[i].WT(0).u() < minX || model->cm.face[i].WT(1).u() < minX || model->cm.face[i].WT(2).u() < minX) minX--;
- if (model->cm.face[i].WT(0).v() < minY || model->cm.face[i].WT(1).v() < minY || model->cm.face[i].WT(2).v() < minY) minY--;
// First draw the model in u,v space
if (model->cm.face[i].IsS() && model->cm.face[i].WT(0).n() == textNum)
{
+ // While drawning, it counts the number of 'planes'
+ if (model->cm.face[i].WT(0).u() > maxX || model->cm.face[i].WT(1).u() > maxX || model->cm.face[i].WT(2).u() > maxX) maxX++;
+ if (model->cm.face[i].WT(0).v() > maxY || model->cm.face[i].WT(1).v() > maxY || model->cm.face[i].WT(2).v() > maxY) maxY++;
+ if (model->cm.face[i].WT(0).u() < minX || model->cm.face[i].WT(1).u() < minX || model->cm.face[i].WT(2).u() < minX) minX--;
+ if (model->cm.face[i].WT(0).v() < minY || model->cm.face[i].WT(1).v() < minY || model->cm.face[i].WT(2).v() < minY) minY--;
+
glBegin(GL_LINE_LOOP);
glVertex3f(model->cm.face[i].WT(0).u() * AREADIM, AREADIM - (model->cm.face[i].WT(0).v() * AREADIM), 1);
glVertex3f(model->cm.face[i].WT(1).u() * AREADIM, AREADIM - (model->cm.face[i].WT(1).v() * AREADIM), 1);
@@ -105,10 +108,14 @@ void RenderArea::paintEvent(QPaintEvent *)
glDisable(GL_COLOR_LOGIC_OP);
// Draw the background behind the model
- for (int x = minX; x < maxX; x++)
- for (int y = minY; y < maxY; y++)
- painter.drawImage(QRect(x*AREADIM,-y*AREADIM,AREADIM,AREADIM),image,QRect(0,0,image.width(),image.height()));
-
+ if (minX != 0 || minY != 0 || maxX != 0 || maxY != 0)
+ {
+ for (int x = minX; x < maxX; x++)
+ for (int y = minY; y < maxY; y++)
+ painter.drawImage(QRect(x*AREADIM + panX,-y*AREADIM + panY,AREADIM,AREADIM),image,QRect(0,0,image.width(),image.height()));
+ }
+ else painter.drawImage(QRect(0,0,AREADIM,AREADIM),image,QRect(0,0,image.width(),image.height()));
+
// and the axis, always in first plane
glMatrixMode(GL_PROJECTION);
glPushMatrix();
@@ -148,47 +155,77 @@ void RenderArea::paintEvent(QPaintEvent *)
// Mouse Event:
void RenderArea::mousePressEvent(QMouseEvent *e)
{
- oldX = e->x(); oldY = e->y();
- tmpX = viewport.X(); tmpY = viewport.Y();
- tb->MouseDown(e->x(), AREADIM-e->y(), QT2VCG(e->button(), e->modifiers()));
- this->update();
+ switch(mode)
+ {
+ case View:
+ oldX = e->x(); oldY = e->y();
+ tmpX = viewport.X(); tmpY = viewport.Y();
+ tb->MouseDown(e->x(), AREADIM-e->y(), QT2VCG(e->button(), e->modifiers()));
+ this->update();
+ break;
+ case Edit:
+ tpanX = e->x();
+ tpanY = e->y();
+ break;
+ }
}
void RenderArea::mouseReleaseEvent(QMouseEvent *e)
{
- tb->MouseUp(e->x(), AREADIM-e->y(), QT2VCG(e->button(), e->modifiers()));
- this->update();
+ switch(mode)
+ {
+ case View:
+ tb->MouseUp(e->x(), AREADIM-e->y(), QT2VCG(e->button(), e->modifiers()));
+ this->update();
+ break;
+ case Edit:
+ oldPX = panX;
+ oldPY = panY;
+ UpdateUV();
+ break;
+ }
}
void RenderArea::mouseMoveEvent(QMouseEvent *e)
{
- if((e->buttons() & Qt::LeftButton))
+ if((e->buttons() & Qt::LeftButton)) // <---- Se non ci sono facce selezionate -> non si fa nulla
{
- tb->track.SetTranslate(Point3f(tmpX + oldX - e->x(), tmpY + oldY - e->y(), 0));
- viewport = Point2f(tmpX + oldX - e->x(), tmpY + oldY - e->y());
- this->update();
+ switch(mode)
+ {
+ case View:
+ tb->track.SetTranslate(Point3f(tmpX + oldX - e->x(), tmpY + oldY - e->y(), 0));
+ viewport = Point2f(tmpX + oldX - e->x(), tmpY + oldY - e->y());
+ this->update();
+ break;
+ case Edit:
+ panX = oldPX + tpanX - e->x();
+ panY = oldPY + tpanY - e->y();
+ this->update();
+ break;
+ }
}
}
void RenderArea::mouseDoubleClickEvent(QMouseEvent *)
{
- // Reset of the trackball
- tb->center = Point3f(0, 0, 0);
- viewport = Point2f(0,0);
- oldX = 0; oldY = 0;
- tb->track.SetTranslate(Point3f(0,0,0));
+ ResetTrack();
// <--- reset dello zoom
this->update();
}
void RenderArea::wheelEvent(QWheelEvent*e)
{
- // Zoom
- float WHEEL_STEP = 120.0f;
- float notch = (float)e->delta()/WHEEL_STEP;
- tb->MouseWheel(notch, QTWheel2VCG(e->modifiers()));
- tb->track.SetScale(notch); // <---- ???? parametro ????
- this->update();
+ switch(mode)
+ {
+ case View:
+ // Zoom
+ float WHEEL_STEP = 120.0f;
+ float notch = (float)e->delta()/WHEEL_STEP;
+ tb->MouseWheel(notch, QTWheel2VCG(e->modifiers()));
+ tb->track.SetScale(notch); // <---- ???? parametro ????
+ this->update();
+ break;
+ }
}
void RenderArea::RemapRepeat()
@@ -210,37 +247,50 @@ void RenderArea::RemapRepeat()
void RenderArea::RemapClamp()
{
- /*
// Remap the uv coord out of border using clamp method
- out = false;
- for (unsigned i = 0; i < map.size(); i++)
+ for (unsigned i = 0; i < model->cm.face.size(); i++)
{
- float u = map[i].GetU();
- float v = map[i].GetV();
- map[i].SetVertex(GetClampVertex(u, v, i));
+ if (model->cm.face[i].WT(0).n() == textNum)
+ {
+ for (unsigned j = 0; j < 3; j++)
+ {
+ if (model->cm.face[i].WT(j).u() > 1) model->cm.face[i].WT(j).u() = 1;
+ else if (model->cm.face[i].WT(j).u() < 0) model->cm.face[i].WT(j).u() = 0;
+ if (model->cm.face[i].WT(j).v() > 1) model->cm.face[i].WT(j).v() = 1;
+ else if (model->cm.face[i].WT(j).v() < 0) model->cm.face[i].WT(j).v() = 0;
+ }
+ }
}
+ panX = 0; panY = 0; tpanX = 0; tpanY = 0; oldPX = 0; oldPY = 0;
+ ResetTrack();
this->update();
- */
+ emit UpdateStat(0,0,0,0,0); // <--------
}
void RenderArea::RemapMod()
{
- /*
// Remap the uv coord out of border using mod function
- out = false;
- for (unsigned i = 0; i < map.size(); i++)
+ for (unsigned i = 0; i < model->cm.face.size(); i++)
{
- float u = map[i].GetU();
- float v = map[i].GetV();
- if (u < 0) {while (u<0) u++;}
- else if (u > 1) {while (u>1) u--;}
- if (v < 0) {while(v<0) v++;}
- else if (v > 1) {while(v>1) v--;}
- map[i].SetVertex(QRect(u * AREADIM - RADIUS/2, (AREADIM - (v * AREADIM)) - RADIUS/2, RADIUS, RADIUS));
- UpdateSingleUV(i, u, v);
+ if (model->cm.face[i].WT(0).n() == textNum)
+ {
+ for (unsigned j = 0; j < 3; j++)
+ {
+ float u = model->cm.face[i].WT(j).u();
+ float v = model->cm.face[i].WT(j).v();
+ if (u < 0) u = u + (int)u + 1;
+ else if (u > 1) u = u - (int)u;
+ if (v < 0) v = v + (int)v + 1;
+ else if (v > 1) v = v - (int)v;
+ model->cm.face[i].WT(j).u() = u;
+ model->cm.face[i].WT(j).v() = v;
+ }
+ }
}
+ panX = 0; panY = 0; tpanX = 0; tpanY = 0; oldPX = 0; oldPY = 0;
+ ResetTrack();
this->update();
- */
+ emit UpdateStat(0,0,0,0,0); // <--------
}
void RenderArea::UpdateVertex(float u, float v)
@@ -276,13 +326,28 @@ void RenderArea::ChangeMode(int index)
switch(index)
{
case 0:
- mode = Point;
+ if (mode != View)
+ {
+ mode = View;
+ this->setCursor(Qt::PointingHandCursor);
+ }
break;
case 1:
- mode = Face;
+ if (mode != Edit)
+ {
+ mode = Edit;
+ this->setCursor(QCursor(QBitmap(":/images/sel_move.png")));
+ }
break;
case 2:
- mode = Smooth;
+ if (mode != Select)
+ {
+ mode = Select;
+ this->setCursor(Qt::CrossCursor);
+ }
+ break;
+ default:
+ this->setCursor(Qt::ArrowCursor);
break;
}
this->update();
@@ -354,15 +419,22 @@ void RenderArea::ScaleComponent(int perc)
void RenderArea::UpdateUV()
{
- /*
// After a move of component, re-calculate the new UV coordinates
- for (unsigned i = 0; i < connected.size(); i++)
+ for (unsigned i = 0; i < model->cm.face.size(); i++)
{
- float u = (float)map[connected[i]].GetVertex().center().x() / AREADIM;
- float v = (float)(AREADIM - map[connected[i]].GetVertex().center().y()) / AREADIM;
- UpdateSingleUV(connected[i], u, v);
+ if (model->cm.face[i].WT(0).n() == textNum)
+ {
+ for (unsigned j = 0; j < 3; j++)
+ {
+ model->cm.face[i].WT(j).u() = model->cm.face[i].WT(j).u() - (float)panX/AREADIM;
+ model->cm.face[i].WT(j).v() = model->cm.face[i].WT(j).v() + (float)panY/AREADIM;
+ }
+ }
}
- */
+ panX = 0; panY = 0; tpanX = 0; tpanY = 0; oldPX = 0; oldPY = 0;
+ ResetTrack();
+ this->update();
+ emit UpdateStat(0,0,0,0,0); // <--------
}
void RenderArea::UpdateSingleUV(int index, float u, float v)
@@ -451,4 +523,11 @@ QRect RenderArea::GetClampVertex(float u, float v, int index)
return QRect();
}
-
+void RenderArea::ResetTrack()
+{
+ // Reset the center of the trackball
+ tb->center = Point3f(0, 0, 0);
+ viewport = Point2f(0,0);
+ oldX = 0; oldY = 0;
+ tb->track.SetTranslate(Point3f(0,0,0));
+}
diff --git a/src/fgt/edit_texture/renderarea.h b/src/fgt/edit_texture/renderarea.h
index 4e82ffc83..5ec0fcde0 100644
--- a/src/fgt/edit_texture/renderarea.h
+++ b/src/fgt/edit_texture/renderarea.h
@@ -28,7 +28,7 @@ class RenderArea : public QGLWidget
Q_OBJECT
public:
- enum Mode { Point, Face, Smooth };
+ enum Mode { View, Edit, Select };
RenderArea(QWidget *parent = 0, QString path = QString(), MeshModel *m = 0, unsigned textNum = 0);
~RenderArea();
@@ -41,8 +41,6 @@ public:
highClick; // Clicked vertex
bool out;
- Mode mode; // Action type
-
public:
void setPen(const QPen &pen);
void setBrush(const QBrush &brush);
@@ -74,6 +72,8 @@ private:
QString fileName; // Name of the texture
MeshModel *model; // Ref to the model (for upate)
+ Mode mode; // Action type
+
// Trackball data
vcg::Trackball *tb;
Point2f viewport;
@@ -83,6 +83,10 @@ private:
QPen pen; // For 2D painting
QBrush brush;
+ int panX, panY, tpanX, tpanY, oldPX, oldPY; // Temp for axis
+ int maxX, maxY, minX, minY; // For texCoord out of border
+
+ void ResetTrack();
void VisitConnected();
QRect GetRepeatVertex(float u, float v, int index);
QRect GetClampVertex(float u, float v, int index);
diff --git a/src/fgt/edit_texture/textureeditor.cpp b/src/fgt/edit_texture/textureeditor.cpp
index 271e51eeb..d107a517d 100644
--- a/src/fgt/edit_texture/textureeditor.cpp
+++ b/src/fgt/edit_texture/textureeditor.cpp
@@ -198,6 +198,7 @@ void TextureEditor::UpStat(float u, float v, int faceN, int vertN, int countFace
if (countFace > 0) ui.LabelFaceNum->setText(QString("%1").arg(countFace));
else ui.LabelFaceNum->setText(QString("0"));
lock = false;
+ area->update();
}
@@ -267,4 +268,36 @@ void TextureEditor::on_ApplyScale_clicked()
int a = ((RenderArea*)ui.tabWidget->currentWidget()->childAt(MARGIN,MARGIN))->highComp;
if (a != -1 && ui.spinBoxScale->value() != 100)
((RenderArea*)ui.tabWidget->currentWidget()->childAt(MARGIN,MARGIN))->ScaleComponent(ui.spinBoxScale->value());
-}
\ No newline at end of file
+}
+
+void TextureEditor::on_moveButton_clicked()
+{
+ ((RenderArea*)ui.tabWidget->currentWidget()->childAt(MARGIN,MARGIN))->ChangeMode(0);
+
+}
+
+void TextureEditor::on_editButton_clicked()
+{
+ ((RenderArea*)ui.tabWidget->currentWidget()->childAt(MARGIN,MARGIN))->ChangeMode(1);
+}
+
+void TextureEditor::on_selectButton_clicked()
+{
+ ((RenderArea*)ui.tabWidget->currentWidget()->childAt(MARGIN,MARGIN))->ChangeMode(2);
+}
+
+void TextureEditor::on_optionButton_clicked()
+{
+ ((RenderArea*)ui.tabWidget->currentWidget()->childAt(MARGIN,MARGIN))->ChangeMode(3);
+}
+
+void TextureEditor::on_clampButton_clicked()
+{
+ ((RenderArea*)ui.tabWidget->currentWidget()->childAt(MARGIN,MARGIN))->RemapClamp();
+}
+
+void TextureEditor::on_modulusButton_clicked()
+{
+ ((RenderArea*)ui.tabWidget->currentWidget()->childAt(MARGIN,MARGIN))->RemapMod();
+}
+
diff --git a/src/fgt/edit_texture/textureeditor.h b/src/fgt/edit_texture/textureeditor.h
index 46d924589..f725a7e85 100644
--- a/src/fgt/edit_texture/textureeditor.h
+++ b/src/fgt/edit_texture/textureeditor.h
@@ -39,6 +39,10 @@ private:
void HandleSpinBoxXY();
private slots:
+ void on_editButton_clicked();
+ void on_moveButton_clicked();
+ void on_selectButton_clicked();
+ void on_optionButton_clicked();
void on_ApplyScale_clicked();
void on_ApplyRotate_clicked();
void on_spinBoxY_valueChanged(int);
@@ -51,6 +55,8 @@ private slots:
void on_remapRB_toggled(bool);
void on_vertRB_toggled(bool);
void on_faceRB_toggled(bool);
+ void on_clampButton_clicked();
+ void on_modulusButton_clicked();
public slots:
void UpStat(float u, float v, int faceN, int vertN, int countFace);
diff --git a/src/fgt/edit_texture/textureeditor.ui b/src/fgt/edit_texture/textureeditor.ui
index 5f2947300..6c2f376dc 100644
--- a/src/fgt/edit_texture/textureeditor.ui
+++ b/src/fgt/edit_texture/textureeditor.ui
@@ -36,58 +36,94 @@
-
+
+
+
+ 340
+ 610
+ 75
+ 23
+
+
+
+ Modulus
+
+
+
+
+
+ 340
+ 580
+ 75
+ 23
+
+
+
+ Clamp
+
+
+
10
450
- 311
- 41
+ 411
+ 71
- Border managment
+ Action selection
-
+
- 106
- 15
- 81
- 19
+ 20
+ 20
+ 70
+ 40
- Clamp
+ View
-
+
- 199
- 15
- 81
- 19
+ 120
+ 20
+ 70
+ 40
- Modulus
+ Select
-
+
- 12
- 15
- 61
- 19
+ 220
+ 20
+ 70
+ 40
- Repeat
+ Edit
-
- true
+
+
+
+
+ 320
+ 20
+ 70
+ 40
+
+
+
+ Option
@@ -95,51 +131,19 @@
10
- 500
+ 530
311
- 261
+ 231
UV Map editing
-
-
-
- 10
- 230
- 100
- 25
-
-
-
- Save Changes
-
-
-
-
-
- 200
- 230
- 100
- 20
-
-
-
- 100
-
-
- 0
-
-
- Qt::Horizontal
-
-
120
- 230
+ 200
71
21
@@ -162,13 +166,32 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ 200
+ 200
+ 100
+ 20
+
+
+
+ 100
+
+
+ 0
+
+
+ Qt::Horizontal
+
+
10
20
293
- 201
+ 171
@@ -178,30 +201,6 @@
Single Points
-
-
-
- 10
- 20
- 101
- 17
-
-
-
-
- MS Shell Dlg 2
- 10
- 50
- false
- false
- false
- false
-
-
-
- UV Coordinates:
-
-
false
@@ -294,11 +293,138 @@
V:
+
+
+
+ 10
+ 100
+ 261
+ 41
+
+
+
+ Border managment
+
+
+
+
+ 106
+ 15
+ 81
+ 19
+
+
+
+ Clamp
+
+
+
+
+
+ 199
+ 15
+ 81
+ 19
+
+
+
+ Modulus
+
+
+
+
+
+ 12
+ 15
+ 61
+ 19
+
+
+
+ Repeat
+
+
+ true
+
+
+
+
+
+
+ 10
+ 20
+ 101
+ 17
+
+
+
+
+ MS Shell Dlg 2
+ 10
+ 50
+ false
+ false
+ false
+ false
+
+
+
+ UV Coordinates:
+
+
Connected component
+
+
+
+ 140
+ 10
+ 61
+ 17
+
+
+
+
+ MS Shell Dlg 2
+ 10
+ 50
+ false
+ false
+ false
+ false
+
+
+
+ 0
+
+
+
+
+
+ 20
+ 10
+ 111
+ 17
+
+
+
+
+ MS Shell Dlg 2
+ 10
+ 50
+ false
+ false
+ false
+ false
+
+
+
+ Selected Vertexes:
+
+
Qt::NonModal
@@ -306,13 +432,13 @@
10
- 40
- 272
- 131
+ 30
+ 276
+ 111
- 0
+ 1
false
@@ -339,42 +465,6 @@
Move selected component
-
-
-
- 130
- 40
- 16
- 16
-
-
-
-
- 10
-
-
-
- X =
-
-
-
-
-
- 130
- 70
- 16
- 16
-
-
-
-
- 10
-
-
-
- Y =
-
-
@@ -399,8 +489,8 @@
- 160
- 40
+ 200
+ 20
46
22
@@ -418,8 +508,8 @@
- 160
- 70
+ 200
+ 50
46
22
@@ -431,18 +521,13 @@
-300
-
-
-
- Rotate
-
-
+
- 10
- 10
- 193
- 17
+ 180
+ 50
+ 16
+ 16
@@ -451,16 +536,39 @@
- Rotate around the selected vertex
+ Y =
+
+
+
+ 180
+ 20
+ 16
+ 16
+
+
+
+
+ 10
+
+
+
+ X =
+
+
+
+
+
+ Rotate
+
10
- 40
+ 30
41
- 17
+ 21
@@ -472,22 +580,6 @@
Angle:
-
-
- false
-
-
-
- 180
- 70
- 75
- 24
-
-
-
- Apply
-
-
Qt::NonModal
@@ -498,7 +590,7 @@
70
- 40
+ 30
55
55
@@ -544,7 +636,7 @@
10
- 70
+ 60
46
22
@@ -556,6 +648,40 @@
-360
+
+
+ false
+
+
+
+ 140
+ 50
+ 75
+ 24
+
+
+
+ Apply
+
+
+
+
+
+ 10
+ 10
+ 193
+ 17
+
+
+
+
+ 10
+
+
+
+ Rotate around the selected vertex
+
+
@@ -658,54 +784,6 @@
-
-
-
- 20
- 10
- 111
- 17
-
-
-
-
- MS Shell Dlg 2
- 10
- 50
- false
- false
- false
- false
-
-
-
- Selected Vertexes:
-
-
-
-
-
- 140
- 10
- 61
- 17
-
-
-
-
- MS Shell Dlg 2
- 10
- 50
- false
- false
- false
- false
-
-
-
- 0
-
-
@@ -713,6 +791,19 @@
+
+
+
+ 10
+ 200
+ 100
+ 25
+
+
+
+ Save Changes
+
+
diff --git a/src/fgt/edit_texture/ui_textureeditor.h b/src/fgt/edit_texture/ui_textureeditor.h
index 83e67f91e..1fe4a947e 100644
--- a/src/fgt/edit_texture/ui_textureeditor.h
+++ b/src/fgt/edit_texture/ui_textureeditor.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading ui file 'textureeditor.ui'
**
-** Created: Sun 16. Mar 11:36:51 2008
+** Created: Thu 20. Mar 19:49:39 2008
** by: Qt User Interface Compiler version 4.2.2
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
@@ -30,45 +30,52 @@ class Ui_TextureEditorClass
public:
QTabWidget *tabWidget;
QWidget *tab;
- QGroupBox *groupBox;
- QRadioButton *vertRB;
- QRadioButton *remapRB;
- QRadioButton *faceRB;
+ QPushButton *modulusButton;
+ QPushButton *clampButton;
+ QGroupBox *groupBox_3;
+ QPushButton *moveButton;
+ QPushButton *selectButton;
+ QPushButton *editButton;
+ QPushButton *optionButton;
QGroupBox *groupBox_2;
- QPushButton *applyButton;
- QProgressBar *progressBar;
QLabel *StatusLabel;
+ QProgressBar *progressBar;
QTabWidget *tabWidgetEdit;
QWidget *tab_point;
- QLabel *label_11;
QDoubleSpinBox *SpinBoxU;
QDoubleSpinBox *SpinBoxV;
QLabel *label_9;
QLabel *label_10;
+ QGroupBox *groupBox;
+ QRadioButton *vertRB;
+ QRadioButton *remapRB;
+ QRadioButton *faceRB;
+ QLabel *label_11;
QWidget *tab_comp;
+ QLabel *LabelFaceNum;
+ QLabel *label_6;
QTabWidget *tabWidget_2;
QWidget *tab_2;
QLabel *label_19;
- QLabel *label_12;
- QLabel *label_13;
QLabel *label_2;
QSpinBox *spinBoxX;
QSpinBox *spinBoxY;
+ QLabel *label_13;
+ QLabel *label_12;
QWidget *tab_3;
- QLabel *label_15;
QLabel *label_14;
- QPushButton *ApplyRotate;
QDial *angle;
QSpinBox *spinBoxAngle;
+ QPushButton *ApplyRotate;
+ QLabel *label_15;
QWidget *tab_4;
QLabel *label_17;
QLabel *label_18;
QLabel *label_16;
QPushButton *ApplyScale;
QSpinBox *spinBoxScale;
- QLabel *label_6;
- QLabel *LabelFaceNum;
QWidget *tab_smooth;
+ QPushButton *applyButton;
void setupUi(QWidget *TextureEditorClass)
{
@@ -80,34 +87,33 @@ public:
tab = new QWidget();
tab->setObjectName(QString::fromUtf8("tab"));
tabWidget->addTab(tab, QApplication::translate("TextureEditorClass", "Texture", 0, QApplication::UnicodeUTF8));
- groupBox = new QGroupBox(TextureEditorClass);
- groupBox->setObjectName(QString::fromUtf8("groupBox"));
- groupBox->setGeometry(QRect(10, 450, 311, 41));
- vertRB = new QRadioButton(groupBox);
- vertRB->setObjectName(QString::fromUtf8("vertRB"));
- vertRB->setGeometry(QRect(106, 15, 81, 19));
- remapRB = new QRadioButton(groupBox);
- remapRB->setObjectName(QString::fromUtf8("remapRB"));
- remapRB->setGeometry(QRect(199, 15, 81, 19));
- faceRB = new QRadioButton(groupBox);
- faceRB->setObjectName(QString::fromUtf8("faceRB"));
- faceRB->setGeometry(QRect(12, 15, 61, 19));
- faceRB->setChecked(true);
+ modulusButton = new QPushButton(TextureEditorClass);
+ modulusButton->setObjectName(QString::fromUtf8("modulusButton"));
+ modulusButton->setGeometry(QRect(340, 610, 75, 23));
+ clampButton = new QPushButton(TextureEditorClass);
+ clampButton->setObjectName(QString::fromUtf8("clampButton"));
+ clampButton->setGeometry(QRect(340, 580, 75, 23));
+ groupBox_3 = new QGroupBox(TextureEditorClass);
+ groupBox_3->setObjectName(QString::fromUtf8("groupBox_3"));
+ groupBox_3->setGeometry(QRect(10, 450, 411, 71));
+ moveButton = new QPushButton(groupBox_3);
+ moveButton->setObjectName(QString::fromUtf8("moveButton"));
+ moveButton->setGeometry(QRect(20, 20, 70, 40));
+ selectButton = new QPushButton(groupBox_3);
+ selectButton->setObjectName(QString::fromUtf8("selectButton"));
+ selectButton->setGeometry(QRect(120, 20, 70, 40));
+ editButton = new QPushButton(groupBox_3);
+ editButton->setObjectName(QString::fromUtf8("editButton"));
+ editButton->setGeometry(QRect(220, 20, 70, 40));
+ optionButton = new QPushButton(groupBox_3);
+ optionButton->setObjectName(QString::fromUtf8("optionButton"));
+ optionButton->setGeometry(QRect(320, 20, 70, 40));
groupBox_2 = new QGroupBox(TextureEditorClass);
groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
- groupBox_2->setGeometry(QRect(10, 500, 311, 261));
- applyButton = new QPushButton(groupBox_2);
- applyButton->setObjectName(QString::fromUtf8("applyButton"));
- applyButton->setGeometry(QRect(10, 230, 100, 25));
- progressBar = new QProgressBar(groupBox_2);
- progressBar->setObjectName(QString::fromUtf8("progressBar"));
- progressBar->setGeometry(QRect(200, 230, 100, 20));
- progressBar->setMaximum(100);
- progressBar->setValue(0);
- progressBar->setOrientation(Qt::Horizontal);
+ groupBox_2->setGeometry(QRect(10, 530, 311, 231));
StatusLabel = new QLabel(groupBox_2);
StatusLabel->setObjectName(QString::fromUtf8("StatusLabel"));
- StatusLabel->setGeometry(QRect(120, 230, 71, 21));
+ StatusLabel->setGeometry(QRect(120, 200, 71, 21));
QFont font;
font.setFamily(QString::fromUtf8("MS Shell Dlg 2"));
font.setPointSize(10);
@@ -118,23 +124,17 @@ public:
font.setStrikeOut(false);
StatusLabel->setFont(font);
StatusLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
+ progressBar = new QProgressBar(groupBox_2);
+ progressBar->setObjectName(QString::fromUtf8("progressBar"));
+ progressBar->setGeometry(QRect(200, 200, 100, 20));
+ progressBar->setMaximum(100);
+ progressBar->setValue(0);
+ progressBar->setOrientation(Qt::Horizontal);
tabWidgetEdit = new QTabWidget(groupBox_2);
tabWidgetEdit->setObjectName(QString::fromUtf8("tabWidgetEdit"));
- tabWidgetEdit->setGeometry(QRect(10, 20, 293, 201));
+ tabWidgetEdit->setGeometry(QRect(10, 20, 293, 171));
tab_point = new QWidget();
tab_point->setObjectName(QString::fromUtf8("tab_point"));
- label_11 = new QLabel(tab_point);
- label_11->setObjectName(QString::fromUtf8("label_11"));
- label_11->setGeometry(QRect(10, 20, 101, 17));
- QFont font1;
- font1.setFamily(QString::fromUtf8("MS Shell Dlg 2"));
- font1.setPointSize(10);
- font1.setBold(false);
- font1.setItalic(false);
- font1.setUnderline(false);
- font1.setWeight(50);
- font1.setStrikeOut(false);
- label_11->setFont(font1);
SpinBoxU = new QDoubleSpinBox(tab_point);
SpinBoxU->setObjectName(QString::fromUtf8("SpinBoxU"));
SpinBoxU->setEnabled(false);
@@ -152,6 +152,18 @@ public:
label_9 = new QLabel(tab_point);
label_9->setObjectName(QString::fromUtf8("label_9"));
label_9->setGeometry(QRect(160, 20, 16, 16));
+ QFont font1;
+ font1.setFamily(QString::fromUtf8("MS Shell Dlg 2"));
+ font1.setPointSize(10);
+ font1.setBold(false);
+ font1.setItalic(false);
+ font1.setUnderline(false);
+ font1.setWeight(50);
+ font1.setStrikeOut(false);
+ label_9->setFont(font1);
+ label_10 = new QLabel(tab_point);
+ label_10->setObjectName(QString::fromUtf8("label_10"));
+ label_10->setGeometry(QRect(160, 60, 16, 16));
QFont font2;
font2.setFamily(QString::fromUtf8("MS Shell Dlg 2"));
font2.setPointSize(10);
@@ -160,10 +172,23 @@ public:
font2.setUnderline(false);
font2.setWeight(50);
font2.setStrikeOut(false);
- label_9->setFont(font2);
- label_10 = new QLabel(tab_point);
- label_10->setObjectName(QString::fromUtf8("label_10"));
- label_10->setGeometry(QRect(160, 60, 16, 16));
+ label_10->setFont(font2);
+ groupBox = new QGroupBox(tab_point);
+ groupBox->setObjectName(QString::fromUtf8("groupBox"));
+ groupBox->setGeometry(QRect(10, 100, 261, 41));
+ vertRB = new QRadioButton(groupBox);
+ vertRB->setObjectName(QString::fromUtf8("vertRB"));
+ vertRB->setGeometry(QRect(106, 15, 81, 19));
+ remapRB = new QRadioButton(groupBox);
+ remapRB->setObjectName(QString::fromUtf8("remapRB"));
+ remapRB->setGeometry(QRect(199, 15, 81, 19));
+ faceRB = new QRadioButton(groupBox);
+ faceRB->setObjectName(QString::fromUtf8("faceRB"));
+ faceRB->setGeometry(QRect(12, 15, 61, 19));
+ faceRB->setChecked(true);
+ label_11 = new QLabel(tab_point);
+ label_11->setObjectName(QString::fromUtf8("label_11"));
+ label_11->setGeometry(QRect(10, 20, 101, 17));
QFont font3;
font3.setFamily(QString::fromUtf8("MS Shell Dlg 2"));
font3.setPointSize(10);
@@ -172,35 +197,47 @@ public:
font3.setUnderline(false);
font3.setWeight(50);
font3.setStrikeOut(false);
- label_10->setFont(font3);
+ label_11->setFont(font3);
tabWidgetEdit->addTab(tab_point, QApplication::translate("TextureEditorClass", "Single Points", 0, QApplication::UnicodeUTF8));
tab_comp = new QWidget();
tab_comp->setObjectName(QString::fromUtf8("tab_comp"));
+ LabelFaceNum = new QLabel(tab_comp);
+ LabelFaceNum->setObjectName(QString::fromUtf8("LabelFaceNum"));
+ LabelFaceNum->setGeometry(QRect(140, 10, 61, 17));
+ QFont font4;
+ font4.setFamily(QString::fromUtf8("MS Shell Dlg 2"));
+ font4.setPointSize(10);
+ font4.setBold(false);
+ font4.setItalic(false);
+ font4.setUnderline(false);
+ font4.setWeight(50);
+ font4.setStrikeOut(false);
+ LabelFaceNum->setFont(font4);
+ label_6 = new QLabel(tab_comp);
+ label_6->setObjectName(QString::fromUtf8("label_6"));
+ label_6->setGeometry(QRect(20, 10, 111, 17));
+ QFont font5;
+ font5.setFamily(QString::fromUtf8("MS Shell Dlg 2"));
+ font5.setPointSize(10);
+ font5.setBold(false);
+ font5.setItalic(false);
+ font5.setUnderline(false);
+ font5.setWeight(50);
+ font5.setStrikeOut(false);
+ label_6->setFont(font5);
tabWidget_2 = new QTabWidget(tab_comp);
tabWidget_2->setObjectName(QString::fromUtf8("tabWidget_2"));
tabWidget_2->setWindowModality(Qt::NonModal);
- tabWidget_2->setGeometry(QRect(10, 40, 272, 131));
+ tabWidget_2->setGeometry(QRect(10, 30, 276, 111));
tabWidget_2->setUsesScrollButtons(false);
tab_2 = new QWidget();
tab_2->setObjectName(QString::fromUtf8("tab_2"));
label_19 = new QLabel(tab_2);
label_19->setObjectName(QString::fromUtf8("label_19"));
label_19->setGeometry(QRect(10, 10, 193, 17));
- QFont font4;
- font4.setPointSize(10);
- label_19->setFont(font4);
- label_12 = new QLabel(tab_2);
- label_12->setObjectName(QString::fromUtf8("label_12"));
- label_12->setGeometry(QRect(130, 40, 16, 16));
- QFont font5;
- font5.setPointSize(10);
- label_12->setFont(font5);
- label_13 = new QLabel(tab_2);
- label_13->setObjectName(QString::fromUtf8("label_13"));
- label_13->setGeometry(QRect(130, 70, 16, 16));
QFont font6;
font6.setPointSize(10);
- label_13->setFont(font6);
+ label_19->setFont(font6);
label_2 = new QLabel(tab_2);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setGeometry(QRect(10, 50, 98, 17));
@@ -210,39 +247,41 @@ public:
spinBoxX = new QSpinBox(tab_2);
spinBoxX->setObjectName(QString::fromUtf8("spinBoxX"));
spinBoxX->setEnabled(false);
- spinBoxX->setGeometry(QRect(160, 40, 46, 22));
+ spinBoxX->setGeometry(QRect(200, 20, 46, 22));
spinBoxX->setMaximum(300);
spinBoxX->setMinimum(-300);
spinBoxY = new QSpinBox(tab_2);
spinBoxY->setObjectName(QString::fromUtf8("spinBoxY"));
spinBoxY->setEnabled(false);
- spinBoxY->setGeometry(QRect(160, 70, 46, 22));
+ spinBoxY->setGeometry(QRect(200, 50, 46, 22));
spinBoxY->setMaximum(300);
spinBoxY->setMinimum(-300);
+ label_13 = new QLabel(tab_2);
+ label_13->setObjectName(QString::fromUtf8("label_13"));
+ label_13->setGeometry(QRect(180, 50, 16, 16));
+ QFont font8;
+ font8.setPointSize(10);
+ label_13->setFont(font8);
+ label_12 = new QLabel(tab_2);
+ label_12->setObjectName(QString::fromUtf8("label_12"));
+ label_12->setGeometry(QRect(180, 20, 16, 16));
+ QFont font9;
+ font9.setPointSize(10);
+ label_12->setFont(font9);
tabWidget_2->addTab(tab_2, QApplication::translate("TextureEditorClass", " Move ", 0, QApplication::UnicodeUTF8));
tab_3 = new QWidget();
tab_3->setObjectName(QString::fromUtf8("tab_3"));
- label_15 = new QLabel(tab_3);
- label_15->setObjectName(QString::fromUtf8("label_15"));
- label_15->setGeometry(QRect(10, 10, 193, 17));
- QFont font8;
- font8.setPointSize(10);
- label_15->setFont(font8);
label_14 = new QLabel(tab_3);
label_14->setObjectName(QString::fromUtf8("label_14"));
- label_14->setGeometry(QRect(10, 40, 41, 17));
- QFont font9;
- font9.setPointSize(10);
- label_14->setFont(font9);
- ApplyRotate = new QPushButton(tab_3);
- ApplyRotate->setObjectName(QString::fromUtf8("ApplyRotate"));
- ApplyRotate->setEnabled(false);
- ApplyRotate->setGeometry(QRect(180, 70, 75, 24));
+ label_14->setGeometry(QRect(10, 30, 41, 21));
+ QFont font10;
+ font10.setPointSize(10);
+ label_14->setFont(font10);
angle = new QDial(tab_3);
angle->setObjectName(QString::fromUtf8("angle"));
angle->setWindowModality(Qt::NonModal);
angle->setEnabled(true);
- angle->setGeometry(QRect(70, 40, 55, 55));
+ angle->setGeometry(QRect(70, 30, 55, 55));
angle->setMinimum(-360);
angle->setMaximum(360);
angle->setPageStep(45);
@@ -257,30 +296,40 @@ public:
spinBoxAngle = new QSpinBox(tab_3);
spinBoxAngle->setObjectName(QString::fromUtf8("spinBoxAngle"));
spinBoxAngle->setEnabled(true);
- spinBoxAngle->setGeometry(QRect(10, 70, 46, 22));
+ spinBoxAngle->setGeometry(QRect(10, 60, 46, 22));
spinBoxAngle->setMaximum(360);
spinBoxAngle->setMinimum(-360);
+ ApplyRotate = new QPushButton(tab_3);
+ ApplyRotate->setObjectName(QString::fromUtf8("ApplyRotate"));
+ ApplyRotate->setEnabled(false);
+ ApplyRotate->setGeometry(QRect(140, 50, 75, 24));
+ label_15 = new QLabel(tab_3);
+ label_15->setObjectName(QString::fromUtf8("label_15"));
+ label_15->setGeometry(QRect(10, 10, 193, 17));
+ QFont font11;
+ font11.setPointSize(10);
+ label_15->setFont(font11);
tabWidget_2->addTab(tab_3, QApplication::translate("TextureEditorClass", " Rotate ", 0, QApplication::UnicodeUTF8));
tab_4 = new QWidget();
tab_4->setObjectName(QString::fromUtf8("tab_4"));
label_17 = new QLabel(tab_4);
label_17->setObjectName(QString::fromUtf8("label_17"));
label_17->setGeometry(QRect(120, 50, 16, 17));
- QFont font10;
- font10.setPointSize(10);
- label_17->setFont(font10);
+ QFont font12;
+ font12.setPointSize(10);
+ label_17->setFont(font12);
label_18 = new QLabel(tab_4);
label_18->setObjectName(QString::fromUtf8("label_18"));
label_18->setGeometry(QRect(20, 50, 41, 17));
- QFont font11;
- font11.setPointSize(10);
- label_18->setFont(font11);
+ QFont font13;
+ font13.setPointSize(10);
+ label_18->setFont(font13);
label_16 = new QLabel(tab_4);
label_16->setObjectName(QString::fromUtf8("label_16"));
label_16->setGeometry(QRect(10, 10, 193, 17));
- QFont font12;
- font12.setPointSize(10);
- label_16->setFont(font12);
+ QFont font14;
+ font14.setPointSize(10);
+ label_16->setFont(font14);
ApplyScale = new QPushButton(tab_4);
ApplyScale->setObjectName(QString::fromUtf8("ApplyScale"));
ApplyScale->setEnabled(false);
@@ -294,34 +343,13 @@ public:
spinBoxScale->setSingleStep(5);
spinBoxScale->setValue(100);
tabWidget_2->addTab(tab_4, QApplication::translate("TextureEditorClass", " Scale ", 0, QApplication::UnicodeUTF8));
- label_6 = new QLabel(tab_comp);
- label_6->setObjectName(QString::fromUtf8("label_6"));
- label_6->setGeometry(QRect(20, 10, 111, 17));
- QFont font13;
- font13.setFamily(QString::fromUtf8("MS Shell Dlg 2"));
- font13.setPointSize(10);
- font13.setBold(false);
- font13.setItalic(false);
- font13.setUnderline(false);
- font13.setWeight(50);
- font13.setStrikeOut(false);
- label_6->setFont(font13);
- LabelFaceNum = new QLabel(tab_comp);
- LabelFaceNum->setObjectName(QString::fromUtf8("LabelFaceNum"));
- LabelFaceNum->setGeometry(QRect(140, 10, 61, 17));
- QFont font14;
- font14.setFamily(QString::fromUtf8("MS Shell Dlg 2"));
- font14.setPointSize(10);
- font14.setBold(false);
- font14.setItalic(false);
- font14.setUnderline(false);
- font14.setWeight(50);
- font14.setStrikeOut(false);
- LabelFaceNum->setFont(font14);
tabWidgetEdit->addTab(tab_comp, QApplication::translate("TextureEditorClass", "Connected component", 0, QApplication::UnicodeUTF8));
tab_smooth = new QWidget();
tab_smooth->setObjectName(QString::fromUtf8("tab_smooth"));
tabWidgetEdit->addTab(tab_smooth, QApplication::translate("TextureEditorClass", " Smooth ", 0, QApplication::UnicodeUTF8));
+ applyButton = new QPushButton(groupBox_2);
+ applyButton->setObjectName(QString::fromUtf8("applyButton"));
+ applyButton->setGeometry(QRect(10, 200, 100, 25));
retranslateUi(TextureEditorClass);
@@ -334,7 +362,7 @@ public:
tabWidget->setCurrentIndex(0);
tabWidgetEdit->setCurrentIndex(0);
- tabWidget_2->setCurrentIndex(0);
+ tabWidget_2->setCurrentIndex(1);
QMetaObject::connectSlotsByName(TextureEditorClass);
@@ -344,35 +372,42 @@ public:
{
TextureEditorClass->setWindowTitle(QApplication::translate("TextureEditorClass", "TextureEditor", 0, QApplication::UnicodeUTF8));
tabWidget->setTabText(tabWidget->indexOf(tab), QApplication::translate("TextureEditorClass", "Texture", 0, QApplication::UnicodeUTF8));
+ modulusButton->setText(QApplication::translate("TextureEditorClass", "Modulus", 0, QApplication::UnicodeUTF8));
+ clampButton->setText(QApplication::translate("TextureEditorClass", "Clamp", 0, QApplication::UnicodeUTF8));
+ groupBox_3->setTitle(QApplication::translate("TextureEditorClass", " Action selection ", 0, QApplication::UnicodeUTF8));
+ moveButton->setText(QApplication::translate("TextureEditorClass", "View", 0, QApplication::UnicodeUTF8));
+ selectButton->setText(QApplication::translate("TextureEditorClass", "Select", 0, QApplication::UnicodeUTF8));
+ editButton->setText(QApplication::translate("TextureEditorClass", "Edit", 0, QApplication::UnicodeUTF8));
+ optionButton->setText(QApplication::translate("TextureEditorClass", "Option", 0, QApplication::UnicodeUTF8));
+ groupBox_2->setTitle(QApplication::translate("TextureEditorClass", " UV Map editing ", 0, QApplication::UnicodeUTF8));
+ StatusLabel->setText(QApplication::translate("TextureEditorClass", "Loading...", 0, QApplication::UnicodeUTF8));
+ label_9->setText(QApplication::translate("TextureEditorClass", "U:", 0, QApplication::UnicodeUTF8));
+ label_10->setText(QApplication::translate("TextureEditorClass", "V:", 0, QApplication::UnicodeUTF8));
groupBox->setTitle(QApplication::translate("TextureEditorClass", " Border managment ", 0, QApplication::UnicodeUTF8));
vertRB->setText(QApplication::translate("TextureEditorClass", "Clamp", 0, QApplication::UnicodeUTF8));
remapRB->setText(QApplication::translate("TextureEditorClass", "Modulus", 0, QApplication::UnicodeUTF8));
faceRB->setText(QApplication::translate("TextureEditorClass", "Repeat", 0, QApplication::UnicodeUTF8));
- groupBox_2->setTitle(QApplication::translate("TextureEditorClass", " UV Map editing ", 0, QApplication::UnicodeUTF8));
- applyButton->setText(QApplication::translate("TextureEditorClass", "Save Changes", 0, QApplication::UnicodeUTF8));
- StatusLabel->setText(QApplication::translate("TextureEditorClass", "Loading...", 0, QApplication::UnicodeUTF8));
label_11->setText(QApplication::translate("TextureEditorClass", "UV Coordinates:", 0, QApplication::UnicodeUTF8));
- label_9->setText(QApplication::translate("TextureEditorClass", "U:", 0, QApplication::UnicodeUTF8));
- label_10->setText(QApplication::translate("TextureEditorClass", "V:", 0, QApplication::UnicodeUTF8));
tabWidgetEdit->setTabText(tabWidgetEdit->indexOf(tab_point), QApplication::translate("TextureEditorClass", "Single Points", 0, QApplication::UnicodeUTF8));
+ LabelFaceNum->setText(QApplication::translate("TextureEditorClass", "0", 0, QApplication::UnicodeUTF8));
+ label_6->setText(QApplication::translate("TextureEditorClass", "Selected Vertexes:", 0, QApplication::UnicodeUTF8));
label_19->setText(QApplication::translate("TextureEditorClass", "Move selected component", 0, QApplication::UnicodeUTF8));
- label_12->setText(QApplication::translate("TextureEditorClass", "X =", 0, QApplication::UnicodeUTF8));
- label_13->setText(QApplication::translate("TextureEditorClass", "Y =", 0, QApplication::UnicodeUTF8));
label_2->setText(QApplication::translate("TextureEditorClass", "Relative position:", 0, QApplication::UnicodeUTF8));
+ label_13->setText(QApplication::translate("TextureEditorClass", "Y =", 0, QApplication::UnicodeUTF8));
+ label_12->setText(QApplication::translate("TextureEditorClass", "X =", 0, QApplication::UnicodeUTF8));
tabWidget_2->setTabText(tabWidget_2->indexOf(tab_2), QApplication::translate("TextureEditorClass", " Move ", 0, QApplication::UnicodeUTF8));
- label_15->setText(QApplication::translate("TextureEditorClass", "Rotate around the selected vertex", 0, QApplication::UnicodeUTF8));
label_14->setText(QApplication::translate("TextureEditorClass", "Angle:", 0, QApplication::UnicodeUTF8));
ApplyRotate->setText(QApplication::translate("TextureEditorClass", "Apply", 0, QApplication::UnicodeUTF8));
+ label_15->setText(QApplication::translate("TextureEditorClass", "Rotate around the selected vertex", 0, QApplication::UnicodeUTF8));
tabWidget_2->setTabText(tabWidget_2->indexOf(tab_3), QApplication::translate("TextureEditorClass", " Rotate ", 0, QApplication::UnicodeUTF8));
label_17->setText(QApplication::translate("TextureEditorClass", "%", 0, QApplication::UnicodeUTF8));
label_18->setText(QApplication::translate("TextureEditorClass", "Scale:", 0, QApplication::UnicodeUTF8));
label_16->setText(QApplication::translate("TextureEditorClass", "Scale from the selected vertex", 0, QApplication::UnicodeUTF8));
ApplyScale->setText(QApplication::translate("TextureEditorClass", "Apply", 0, QApplication::UnicodeUTF8));
tabWidget_2->setTabText(tabWidget_2->indexOf(tab_4), QApplication::translate("TextureEditorClass", " Scale ", 0, QApplication::UnicodeUTF8));
- label_6->setText(QApplication::translate("TextureEditorClass", "Selected Vertexes:", 0, QApplication::UnicodeUTF8));
- LabelFaceNum->setText(QApplication::translate("TextureEditorClass", "0", 0, QApplication::UnicodeUTF8));
tabWidgetEdit->setTabText(tabWidgetEdit->indexOf(tab_comp), QApplication::translate("TextureEditorClass", "Connected component", 0, QApplication::UnicodeUTF8));
tabWidgetEdit->setTabText(tabWidgetEdit->indexOf(tab_smooth), QApplication::translate("TextureEditorClass", " Smooth ", 0, QApplication::UnicodeUTF8));
+ applyButton->setText(QApplication::translate("TextureEditorClass", "Save Changes", 0, QApplication::UnicodeUTF8));
Q_UNUSED(TextureEditorClass);
} // retranslateUi