import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQuick.Layouts 1.1 Item { id: item1 width: 1000 height: 560 property alias text_Log: text_Log property alias button_ClearLog: button_ClearLog property alias button_ClearLog_2: button_ClearLog_2 property alias text_Log_2: text_Log_2 property alias check_VertexInsertion4: check_VertexInsertion4 property alias check_VertexInsertion3: check_VertexInsertion3 property alias check_EdgeContraction1: check_EdgeContraction1 property alias check_VertexInsertion2: check_VertexInsertion2 property alias check_VertexInsertion1: check_VertexInsertion1 property alias check_TopoTransf4: check_TopoTransf4 property alias check_TopoTransf3: check_TopoTransf3 property alias check_TopoTransf2: check_TopoTransf2 property alias check_TopoTransf1: check_TopoTransf1 property alias check_Smoothing4: check_Smoothing4 property alias check_Smoothing3: check_Smoothing3 property alias check_Smoothing2: check_Smoothing2 property alias combo_StellarObjectiveFunction: combo_StellarObjectiveFunction property alias check_Smoothing1: check_Smoothing1 property alias text_MeshFileValueOutput: text_MeshFileValueOutput property alias button_AnalyzeMeshOutput: button_AnalyzeMeshOutput property alias button_SelectFileMeshInput: button_SelectFileMeshInput property alias text_MeshFileValueInput: text_MeshFileValueInput property alias button_AnalyzeMeshInput: button_AnalyzeMeshInput property alias button_OptimizeMesh: button_OptimizeMesh property int windowWidth: 1000 property int windowHeight: 560 RowLayout { id: layoutRow_main width: 1000 height: 560 anchors.fill: parent spacing: 0 Item { id: tab_Settings width: 0 height: 0 Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.maximumWidth: 600 Layout.minimumHeight: 560 Layout.minimumWidth: 600 Layout.preferredHeight: 560 Layout.preferredWidth: 600 Layout.fillHeight: true Layout.fillWidth: true clip: false visible: false Label { id: label_Settings_2 x: 5 y: 5 text: qsTr("Settings") font.pointSize: 14 font.bold: true verticalAlignment: Text.AlignVCenter } Rectangle { id: rect_Menu x: 5 y: 35 width: 590 height: 520 color: "#00ffffff" visible: true z: -1 border.width: 1 border.color: "#000000" Item { id: row_Input x: 0 y: 0 width: 590 height: 40 Text { id: text_InputMeshLabel x: 5 y: 5 height: 30 text: qsTr("Input mesh:") font.bold: true verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignLeft font.pixelSize: 12 } Text { id: text_MeshFileValueInput x: 104 y: 5 height: 30 text: qsTr("None") verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignLeft font.pixelSize: 12 } Button { id: button_AnalyzeMeshInput x: 370 y: 5 width: 100 height: 30 text: qsTr("Analyze") enabled: false transformOrigin: Item.Center } Button { id: button_SelectFileMeshInput x: 486 y: 5 width: 100 height: 30 text: qsTr("Select") transformOrigin: Item.Center } } Item { id: row_Stellar x: 0 y: 40 width: 590 height: 420 Label { id: text_StellarLabel x: 5 y: 25 height: 30 text: qsTr("Stellar") horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 12 font.bold: true } Item { id: tab_StellarObjectiveFunction x: 0 y: 55 width: 295 height: 40 Text { id: label_StellarObjectiveFunction x: 5 y: 10 width: 100 height: 20 text: qsTr("Objective function:") horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 12 } ComboBox { id: combo_StellarObjectiveFunction x: 120 y: 10 width: 140 height: 20 activeFocusOnPress: false currentIndex: 2 model: ListModel { id: combo_ObjectiveFunctionItems ListElement { text: "Minimum sine"; property int func_idx: 0 } ListElement { text: "Radius ratio"; property int func_idx: 1 } ListElement { text: "Volume-lenght"; property int func_idx: 2 } ListElement { text: "Biased minimum sine"; property int func_idx: 5 } } } } Button { id: button_OptimizeMesh x: 342 y: 60 width: 200 height: 30 text: qsTr("Do some magic!") enabled: false } Item { id: tab_StellarSmoothing x: 0 y: 95 width: 295 height: 85 Label { id: text_StellarSmoothingLabel x: 5 y: 5 width: 60 height: 20 text: qsTr("Smoothing") font.bold: true font.italic: false font.underline: false textFormat: Text.AutoText font.pixelSize: 10 horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } CheckBox { id: check_Smoothing1 x: 40 y: 30 height: 20 text: qsTr("non smooth") checked: true } CheckBox { id: check_Smoothing2 x: 175 y: 30 height: 20 text: qsTr("facet smooth") checked: true } CheckBox { id: check_Smoothing3 x: 40 y: 60 height: 20 text: qsTr("segment smooth") checked: true } CheckBox { id: check_Smoothing4 x: 175 y: 60 height: 20 text: qsTr("use quadrics") checked: false } } Item { id: tab_StellarTopoTransf x: 295 y: 95 width: 295 height: 85 Label { id: text_StellarTopoTransfLabel x: 5 y: 5 width: 150 height: 20 text: qsTr("Topological Transformation") style: Text.Normal textFormat: Text.AutoText horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.bold: true font.italic: false font.underline: false font.pixelSize: 10 } CheckBox { id: check_TopoTransf1 x: 40 y: 30 height: 20 text: qsTr("flip 2-2") checked: true } CheckBox { id: check_TopoTransf2 x: 175 y: 30 height: 20 text: qsTr("multi face removal") checked: true } CheckBox { id: check_TopoTransf3 x: 40 y: 60 height: 20 text: qsTr("single face removal") checked: true } CheckBox { id: check_TopoTransf4 x: 175 y: 60 height: 20 text: qsTr("edge removal") checked: true } } Item { id: tab_StellarEdgeContraction x: 0 y: 180 width: 295 height: 85 Label { id: text_StellarEdgeContractionLabel x: 5 y: 5 width: 60 height: 20 text: qsTr("Edge Contraction") textFormat: Text.AutoText horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.bold: true font.italic: false font.underline: false font.pixelSize: 10 } CheckBox { id: check_EdgeContraction1 x: 40 y: 30 height: 20 text: qsTr("edge contraction") checked: true } } Item { id: tab_StellarVertexInsertion x: 295 y: 180 width: 295 height: 85 Label { id: text_StellarVertexInsertionLabel1 x: 5 y: 5 width: 60 height: 20 text: qsTr("Vertex Insertion") textFormat: Text.AutoText horizontalAlignment: Text.AlignLeft font.bold: true verticalAlignment: Text.AlignVCenter font.italic: false font.underline: false font.pixelSize: 10 } CheckBox { id: check_VertexInsertion1 x: 40 y: 30 height: 20 text: qsTr("enable insert") checked: true } CheckBox { id: check_VertexInsertion2 x: 175 y: 30 height: 20 text: qsTr("insert body") checked: true } CheckBox { id: check_VertexInsertion3 x: 40 y: 60 height: 20 text: qsTr("insert facet") checked: true } CheckBox { id: check_VertexInsertion4 x: 175 y: 60 height: 20 text: qsTr("insert segment") checked: true } } } Item { id: row_Output x: 0 y: 480 width: 590 height: 40 Text { id: text_InputMeshLabelOutput x: 5 y: 5 height: 30 text: qsTr("Output mesh:") horizontalAlignment: Text.AlignLeft font.pixelSize: 12 verticalAlignment: Text.AlignVCenter font.bold: true } Text { id: text_MeshFileValueOutput x: 104 y: 5 height: 30 text: qsTr("None") horizontalAlignment: Text.AlignLeft font.pixelSize: 12 verticalAlignment: Text.AlignVCenter } Button { id: button_AnalyzeMeshOutput x: 370 y: 5 width: 100 height: 30 text: qsTr("Analyze") enabled: false transformOrigin: Item.Center } } Image { id: ui_separator1 x: 0 y: 40 width: 590 height: 20 fillMode: Image.PreserveAspectFit source: "input/images/separator.png" } Image { id: ui_separator2 x: 0 y: 460 width: 590 height: 20 fillMode: Image.PreserveAspectFit source: "input/images/separator.png" } } } Item { id: tab_Log x: 0 width: 0 height: 0 Layout.minimumHeight: 560 Layout.minimumWidth: 400 Layout.preferredHeight: 560 Layout.preferredWidth: 400 Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.fillHeight: true Layout.fillWidth: true visible: false Label { id: label_Log_2 x: 5 y: 5 text: qsTr("Log") verticalAlignment: Text.AlignVCenter font.bold: true font.pointSize: 14 } Rectangle { id: rect_Log_2 x: 5 y: 35 width: 390 height: 520 color: "#00ffffff" visible: true border.width: 1 TextArea { id: text_Log_2 x: 5 y: 5 width: 380 height: 475 text: "" font.pixelSize: 12 activeFocusOnPress: true font.family: "Times New Roman" readOnly: true } Button { id: button_ClearLog_2 x: 145 y: 485 width: 100 height: 30 text: qsTr("Clear") activeFocusOnPress: false tooltip: "" transformOrigin: Item.Center } } } ColumnLayout { id: layoutCol_Settings x: 0 width: 0 height: 0 visible: true Layout.maximumWidth: 600 spacing: 0 Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.preferredHeight: 560 Layout.preferredWidth: 600 Layout.minimumHeight: 560 Layout.minimumWidth: 600 Layout.fillHeight: true Layout.fillWidth: true ColumnLayout { id: layoutCol_Settings_Header width: 0 height: 0 Layout.columnSpan: 0 Layout.rowSpan: 0 spacing: 0 Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop Layout.maximumHeight: 30 Layout.minimumHeight: 30 Layout.preferredHeight: 30 Label { id: label_Settings x: 0 width: 0 height: 0 text: qsTr("Settings") anchors.leftMargin: 5 anchors.fill: parent Layout.alignment: Qt.AlignLeft | Qt.AlignTop font.pixelSize: 20 Layout.fillHeight: true visible: true Layout.fillWidth: true Layout.columnSpan: 0 Layout.rowSpan: 0 verticalAlignment: Text.AlignVCenter font.bold: true } } } ColumnLayout { id: layoutCol_Log x: 0 width: 0 height: 0 Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.minimumHeight: 560 Layout.minimumWidth: 400 Layout.preferredHeight: 560 Layout.preferredWidth: 400 Layout.fillHeight: true Layout.fillWidth: true spacing: 0 ColumnLayout { id: layoutCol_Log_Header y: 0 width: 0 height: 0 Layout.alignment: Qt.AlignLeft | Qt.AlignTop Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.maximumHeight: 30 Layout.minimumHeight: 30 Layout.preferredHeight: 30 spacing: 0 Layout.fillWidth: true Label { id: label_Log width: 0 height: 0 text: qsTr("Log") anchors.leftMargin: 5 anchors.fill: parent Layout.alignment: Qt.AlignLeft | Qt.AlignTop font.pixelSize: 20 Layout.fillHeight: true visible: true Layout.fillWidth: true Layout.columnSpan: 0 Layout.rowSpan: 0 verticalAlignment: Text.AlignVCenter font.bold: true } } ColumnLayout { id: layoutCol_Log_Body y: 0 width: 0 height: 0 Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.fillHeight: true spacing: 0 Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop Rectangle { id: rect_Log width: 0 height: 0 color: "#00000000" anchors.margins: 5 anchors.fill: parent Layout.alignment: Qt.AlignLeft | Qt.AlignTop Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.fillHeight: true Layout.fillWidth: true ColumnLayout { id: layoutCol_Log_Body_Items width: 0 height: 0 anchors.fill: parent anchors.topMargin: 0 spacing: 0 ColumnLayout { id: layoutCol_Log_Body_Items_TextArea y: 0 width: 0 height: 0 Layout.columnSpan: 0 Layout.rowSpan: 0 spacing: 0 Layout.alignment: Qt.AlignHCenter | Qt.AlignTop Layout.fillHeight: true Layout.fillWidth: true TextArea { id: text_Log width: 0 height: 0 text: "" anchors.margins: 5 anchors.fill: parent Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.fillHeight: true Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop visible: true font.family: "Times New Roman" font.pixelSize: 12 activeFocusOnPress: true readOnly: true } } ColumnLayout { id: layoutCol_Log_Body_Items_Button x: 0 y: 0 width: 0 height: 0 anchors.fill: parent Layout.maximumWidth: 100 Layout.minimumWidth: 100 Layout.preferredWidth: 100 Layout.maximumHeight: 30 Layout.minimumHeight: 30 Layout.preferredHeight: 30 Layout.fillWidth: true Layout.rowSpan: 0 Layout.columnSpan: 0 spacing: 0 Layout.alignment: Qt.AlignHCenter | Qt.AlignTop Layout.fillHeight: true Button { id: button_ClearLog width: 0 height: 0 text: qsTr("Clear") Layout.rowSpan: 0 Layout.columnSpan: 0 Layout.fillHeight: true Layout.fillWidth: true Layout.alignment: Qt.AlignLeft | Qt.AlignTop visible: true tooltip: "" activeFocusOnPress: false transformOrigin: Item.Center } } } visible: true border.width: 1 } } } } Item { id: item_Debug x: 0 y: 0 width: 1000 height: 560 visible: false Rectangle { id: rectangle_Right x: 600 y: 30 width: 0 height: 0 color: "#00ffff" visible: true border.width: 0 Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.fillHeight: true Layout.fillWidth: true Label { id: root_RightHeight x: 90 y: 30 width: 50 height: 20 text: rectangle_Right.height font.pointSize: 12 visible: true horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.bold: false } Label { id: label_RightHeight x: 15 y: 30 width: 50 height: 20 text: qsTr("Height:") font.pointSize: 12 visible: true horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.bold: true } Label { id: root_RightWidth x: 90 y: 10 width: 50 height: 20 text: rectangle_Right.width font.pointSize: 12 visible: true horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.bold: false } Label { id: label_RightWidth x: 15 y: 10 width: 50 height: 20 text: qsTr("Width:") font.pointSize: 12 visible: true horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.bold: true } } Rectangle { id: rectangle_Left x: 0 y: 30 width: 0 height: 0 color: "#ff0000" visible: true border.width: 0 Layout.columnSpan: 0 Layout.rowSpan: 0 Layout.fillHeight: true Layout.fillWidth: true Label { id: label_LeftWidth x: 15 y: 10 width: 50 height: 20 text: qsTr("Width:") visible: true font.bold: true horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pointSize: 12 } Label { id: root_LeftWidth x: 90 y: 10 width: 50 height: 20 text: rectangle_Left.width visible: true font.bold: false verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignLeft font.pointSize: 12 } Label { id: label_LeftHeight x: 15 y: 30 width: 50 height: 20 text: qsTr("Height:") visible: true font.bold: true font.pointSize: 12 horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } Label { id: root_LeftHeight x: 90 y: 30 width: 50 height: 20 text: rectangle_Left.height visible: true font.bold: false font.pointSize: 12 horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } } } Item { id: tab_Settings2 x: 0 y: 0 width: 600 height: 560 clip: false visible: false Label { id: label_Settings2 x: 5 y: 5 text: qsTr("Settings") font.pointSize: 14 verticalAlignment: Text.AlignVCenter font.bold: true } Rectangle { id: rect_Menu2 x: 5 y: 35 width: 590 height: 520 color: "#00ffffff" z: -1 border.color: "#000000" visible: true Item { id: row_Input2 x: 0 y: 0 width: 590 height: 40 Text { id: text_InputMeshLabel2 x: 5 y: 5 height: 30 text: qsTr("Input mesh:") horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 12 font.bold: true } Text { id: text_MeshFileValueInput2 x: 104 y: 5 height: 30 text: qsTr("None") horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 12 } Button { id: button_AnalyzeMeshInput2 x: 370 y: 5 width: 100 height: 30 text: qsTr("Analyze") enabled: false transformOrigin: Item.Center } Button { id: button_SelectFileMeshInput2 x: 486 y: 5 width: 100 height: 30 text: qsTr("Select") transformOrigin: Item.Center } } Item { id: row_Stellar2 x: 0 y: 40 width: 590 height: 420 Label { id: text_StellarLabel2 x: 5 y: 25 height: 30 text: qsTr("Stellar") horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 12 font.bold: true } Item { id: tab_StellarObjectiveFunction2 x: 0 y: 55 width: 295 height: 40 Text { id: label_StellarObjectiveFunction2 x: 5 y: 10 width: 100 height: 20 text: qsTr("Objective function:") horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 12 } ComboBox { id: combo_StellarObjectiveFunction2 x: 120 y: 10 width: 140 height: 20 currentIndex: 2 model: ListModel { id: combo_ObjectiveFunctionItems2 ListElement { text: "Minimum sine" func_idx: 0 } ListElement { text: "Radius ratio" func_idx: 1 } ListElement { text: "Volume-lenght" func_idx: 2 } ListElement { text: "Biased minimum sine" func_idx: 5 } } activeFocusOnPress: false } } Button { id: button_OptimizeMesh2 x: 342 y: 60 width: 200 height: 30 text: qsTr("Do some magic!") enabled: false } Item { id: tab_StellarSmoothing2 x: 0 y: 95 width: 295 height: 85 Label { id: text_StellarSmoothingLabel2 x: 5 y: 5 width: 60 height: 20 text: qsTr("Smoothing") font.italic: false textFormat: Text.AutoText font.underline: false horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 10 font.bold: true } CheckBox { id: check_Smoothing9 x: 40 y: 30 height: 20 text: qsTr("non smooth") checked: true } CheckBox { id: check_Smoothing10 x: 175 y: 30 height: 20 text: qsTr("facet smooth") checked: true } CheckBox { id: check_Smoothing11 x: 40 y: 60 height: 20 text: qsTr("segment smooth") checked: true } CheckBox { id: check_Smoothing12 x: 175 y: 60 height: 20 text: qsTr("use quadrics") checked: false } } Item { id: tab_StellarTopoTransf2 x: 295 y: 95 width: 295 height: 85 Label { id: text_StellarTopoTransfLabel2 x: 5 y: 5 width: 150 height: 20 text: qsTr("Topological Transformation") font.italic: false textFormat: Text.AutoText font.underline: false horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 10 style: Text.Normal font.bold: true } CheckBox { id: check_TopoTransf9 x: 40 y: 30 height: 20 text: qsTr("flip 2-2") checked: true } CheckBox { id: check_TopoTransf10 x: 175 y: 30 height: 20 text: qsTr("multi face removal") checked: true } CheckBox { id: check_TopoTransf11 x: 40 y: 60 height: 20 text: qsTr("single face removal") checked: true } CheckBox { id: check_TopoTransf12 x: 175 y: 60 height: 20 text: qsTr("edge removal") checked: true } } Item { id: tab_StellarEdgeContraction2 x: 0 y: 180 width: 295 height: 85 Label { id: text_StellarEdgeContractionLabel2 x: 5 y: 5 width: 60 height: 20 text: qsTr("Edge Contraction") font.italic: false textFormat: Text.AutoText font.underline: false horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 10 font.bold: true } CheckBox { id: check_EdgeContraction3 x: 40 y: 30 height: 20 text: qsTr("edge contraction") checked: true } } Item { id: tab_StellarVertexInsertion2 x: 295 y: 180 width: 295 height: 85 Label { id: text_StellarVertexInsertionLabel3 x: 5 y: 5 width: 60 height: 20 text: qsTr("Vertex Insertion") font.italic: false textFormat: Text.AutoText font.underline: false horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 10 font.bold: true } CheckBox { id: check_VertexInsertion9 x: 40 y: 30 height: 20 text: qsTr("enable insert") checked: true } CheckBox { id: check_VertexInsertion10 x: 175 y: 30 height: 20 text: qsTr("insert body") checked: true } CheckBox { id: check_VertexInsertion11 x: 40 y: 60 height: 20 text: qsTr("insert facet") checked: true } CheckBox { id: check_VertexInsertion12 x: 175 y: 60 height: 20 text: qsTr("insert segment") checked: true } } } Item { id: row_Output2 x: 0 y: 480 width: 590 height: 40 Text { id: text_InputMeshLabelOutput2 x: 5 y: 5 height: 30 text: qsTr("Output mesh:") horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 12 font.bold: true } Text { id: text_MeshFileValueOutput2 x: 104 y: 5 height: 30 text: qsTr("None") horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter font.pixelSize: 12 } Button { id: button_AnalyzeMeshOutput2 x: 370 y: 5 width: 100 height: 30 text: qsTr("Analyze") enabled: false transformOrigin: Item.Center } } Image { id: ui_separator5 x: 0 y: 40 width: 590 height: 20 source: "input/images/separator.png" fillMode: Image.PreserveAspectFit } Image { id: ui_separator6 x: 0 y: 460 width: 590 height: 20 source: "input/images/separator.png" fillMode: Image.PreserveAspectFit } border.width: 1 } } Item { id: tab_Log2 x: 600 y: 0 width: 400 height: 560 visible: false Label { id: label_Log2 x: 5 y: 5 text: qsTr("Log") font.pointSize: 14 verticalAlignment: Text.AlignVCenter font.bold: true } Rectangle { id: rect_Log2 x: 5 y: 35 width: 390 height: 520 color: "#00ffffff" visible: true TextArea { id: text_Log2 x: 5 y: 5 width: 380 height: 475 text: "" activeFocusOnPress: true readOnly: true font.family: "Times New Roman" font.pixelSize: 12 } Button { id: button_ClearLog2 x: 145 y: 485 width: 100 height: 30 text: qsTr("Clear") tooltip: "" activeFocusOnPress: false transformOrigin: Item.Center } border.width: 1 } } }