Integrating up through commit 90f050496
This commit is contained in:
+93
@@ -0,0 +1,93 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# !/usr/bin/python
|
||||
#
|
||||
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
# its licensors.
|
||||
#
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this
|
||||
# distribution (the "License"). All use of this software is governed by the License,
|
||||
# or, if provided, by the license below or the license accompanying this file. Do not
|
||||
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
# https://gist.github.com/blubberdiblub/007bb92991d01ad29877931f75260b39
|
||||
|
||||
import sys
|
||||
|
||||
from PyQt5.QtCore import pyqtSignal, pyqtSlot, QProcess, QTextCodec
|
||||
from PyQt5.QtGui import QTextCursor
|
||||
from PyQt5.QtWidgets import QApplication, QPlainTextEdit
|
||||
|
||||
|
||||
class ProcessOutputReader(QProcess):
|
||||
produce_output = pyqtSignal(str)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
||||
|
||||
# merge stderr channel into stdout channel
|
||||
self.setProcessChannelMode(QProcess.MergedChannels)
|
||||
|
||||
# prepare decoding process' output to Unicode
|
||||
codec = QTextCodec.codecForLocale()
|
||||
self._decoder_stdout = codec.makeDecoder()
|
||||
# only necessary when stderr channel isn't merged into stdout:
|
||||
# self._decoder_stderr = codec.makeDecoder()
|
||||
|
||||
self.readyReadStandardOutput.connect(self._ready_read_standard_output)
|
||||
# only necessary when stderr channel isn't merged into stdout:
|
||||
# self.readyReadStandardError.connect(self._ready_read_standard_error)
|
||||
|
||||
@pyqtSlot()
|
||||
def _ready_read_standard_output(self):
|
||||
raw_bytes = self.readAllStandardOutput()
|
||||
text = self._decoder_stdout.toUnicode(raw_bytes)
|
||||
self.produce_output.emit(text)
|
||||
|
||||
# only necessary when stderr channel isn't merged into stdout:
|
||||
# @pyqtSlot()
|
||||
# def _ready_read_standard_error(self):
|
||||
# raw_bytes = self.readAllStandardError()
|
||||
# text = self._decoder_stderr.toUnicode(raw_bytes)
|
||||
# self.produce_output.emit(text)
|
||||
|
||||
|
||||
class MyConsole(QPlainTextEdit):
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
||||
|
||||
self.setReadOnly(True)
|
||||
self.setMaximumBlockCount(10000) # limit console to 10000 lines
|
||||
|
||||
self._cursor_output = self.textCursor()
|
||||
|
||||
@pyqtSlot(str)
|
||||
def append_output(self, text):
|
||||
self._cursor_output.insertText(text)
|
||||
self.scroll_to_last_line()
|
||||
|
||||
def scroll_to_last_line(self):
|
||||
cursor = self.textCursor()
|
||||
cursor.movePosition(QTextCursor.End)
|
||||
cursor.movePosition(QTextCursor.Up if cursor.atBlockStart() else
|
||||
QTextCursor.StartOfLine)
|
||||
self.setTextCursor(cursor)
|
||||
|
||||
|
||||
# create the application instance
|
||||
app = QApplication(sys.argv)
|
||||
|
||||
# create a process output reader
|
||||
reader = ProcessOutputReader()
|
||||
|
||||
# create a console and connect the process output reader to it
|
||||
console = MyConsole()
|
||||
reader.produce_output.connect(console.append_output)
|
||||
|
||||
reader.start('python', ['-u', 'C:\\dccapi\\dev\\Gems\\DccScriptingInterface\\LyPy\\si_substance\\builder\\watchdog'
|
||||
'\\__init__.py', 'C:\\Users\\chunghao\\Documents\\Allegorithmic\\Substance Designer'
|
||||
'\\sbsar']) # start the process
|
||||
console.show() # make the console visible
|
||||
app.exec_() # run the PyQt main loop
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# !/usr/bin/python
|
||||
#
|
||||
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
# its licensors.
|
||||
#
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this
|
||||
# distribution (the "License"). All use of this software is governed by the License,
|
||||
# or, if provided, by the license below or the license accompanying this file. Do not
|
||||
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
import sys
|
||||
|
||||
from PySide2.QtCore import QProcess, Signal, Slot, QTextCodec
|
||||
from PySide2.QtGui import QTextCursor
|
||||
from PySide2.QtWidgets import QApplication, QPlainTextEdit
|
||||
from PySide2.QtCore import QTimer
|
||||
|
||||
class ProcessOutputReader(QProcess):
|
||||
produce_output = Signal(str)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
||||
|
||||
# merge stderr channel into stdout channel
|
||||
self.setProcessChannelMode(QProcess.MergedChannels)
|
||||
# prepare decoding process' output to Unicode
|
||||
self._codec = QTextCodec.codecForLocale()
|
||||
self._decoder_stdout = self._codec.makeDecoder()
|
||||
# only necessary when stderr channel isn't merged into stdout:
|
||||
# self._decoder_stderr = codec.makeDecoder()
|
||||
|
||||
self.readyReadStandardOutput.connect(self._ready_read_standard_output)
|
||||
# only necessary when stderr channel isn't merged into stdout:
|
||||
# self.readyReadStandardError.connect(self._ready_read_standard_error)
|
||||
|
||||
@Slot()
|
||||
def _ready_read_standard_output(self):
|
||||
raw_bytes = self.readAllStandardOutput()
|
||||
text = self._decoder_stdout.toUnicode(raw_bytes)
|
||||
self.produce_output.emit(text)
|
||||
|
||||
# only necessary when stderr channel isn't merged into stdout:
|
||||
# @Slot()
|
||||
# def _ready_read_standard_error(self):
|
||||
# raw_bytes = self.readAllStandardError()
|
||||
# text = self._decoder_stderr.toUnicode(raw_bytes)
|
||||
# self.produce_output.emit(text)
|
||||
|
||||
|
||||
class MyConsole(QPlainTextEdit):
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
||||
|
||||
self.setReadOnly(True)
|
||||
self.setMaximumBlockCount(10000) # limit console to 10000 lines
|
||||
|
||||
self._cursor_output = self.textCursor()
|
||||
|
||||
@Slot(str)
|
||||
def append_output(self, text):
|
||||
self._cursor_output.insertText(text)
|
||||
self.scroll_to_last_line()
|
||||
|
||||
def scroll_to_last_line(self):
|
||||
cursor = self.textCursor()
|
||||
cursor.movePosition(QTextCursor.End)
|
||||
cursor.movePosition(QTextCursor.Up if cursor.atBlockStart() else
|
||||
QTextCursor.StartOfLine)
|
||||
self.setTextCursor(cursor)
|
||||
|
||||
def output_text(self, text):
|
||||
self._cursor_output.insertText(text)
|
||||
self.scroll_to_last_line()
|
||||
|
||||
# create the application instance
|
||||
app = QApplication(sys.argv)
|
||||
|
||||
# create a process output reader
|
||||
reader = ProcessOutputReader()
|
||||
|
||||
# create a console and connect the process output reader to it
|
||||
console = MyConsole()
|
||||
reader.produce_output.connect(console.append_output)
|
||||
|
||||
reader.start('python', ['-u', 'C:\\dccapi\\dev\\Gems\\DccScriptingInterface\\LyPy\\si_substance\\builder\\watchdog'
|
||||
'\\__init__.py', 'C:\\Users\\chunghao\\Documents\\Allegorithmic\\Substance Designer'
|
||||
'\\sbsar']) # start the process
|
||||
console.show() # make the console visible
|
||||
# app.exec_() # run the PyQt main loop
|
||||
timer = QTimer()
|
||||
timer.timeout.connect(lambda: None)
|
||||
timer.start(100)
|
||||
|
||||
sys.exit(app.exec_())
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# !/usr/bin/python
|
||||
#
|
||||
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
# its licensors.
|
||||
#
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this
|
||||
# distribution (the "License"). All use of this software is governed by the License,
|
||||
# or, if provided, by the license below or the license accompanying this file. Do not
|
||||
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
from PySide2.QtCore import QFile, QSize
|
||||
from PySide2.QtUiTools import QUiLoader
|
||||
from PySide2.QtWidgets import QApplication, QSizePolicy
|
||||
from PySide2.QtWidgets import QMainWindow, QWidget, QVBoxLayout, QHBoxLayout
|
||||
|
||||
_MODULE_DIR_PATH = os.path.dirname(os.path.abspath(__file__))
|
||||
_UI_FILEPATH = "{0}\\\\sbs_builder_widget.ui".format(_MODULE_DIR_PATH)
|
||||
_PROGRAM_NAME_VERSION = 'Substance Builder'
|
||||
|
||||
|
||||
class UiLoader(QUiLoader):
|
||||
def __init__(self, baseInstance):
|
||||
super(UiLoader, self).__init__(baseInstance)
|
||||
self._baseInstance = baseInstance
|
||||
|
||||
def createWidget(self, classname, parent=None, name=""):
|
||||
widget = super(UiLoader, self).createWidget(
|
||||
classname, parent, name)
|
||||
|
||||
if parent is None:
|
||||
return self._baseInstance
|
||||
else:
|
||||
setattr(self._baseInstance, name, widget)
|
||||
return widget
|
||||
|
||||
|
||||
class MainWindow(QMainWindow):
|
||||
def __init__(self, ui_file=_UI_FILEPATH, parent=None):
|
||||
super().__init__(parent)
|
||||
|
||||
# Setup central widget and layout
|
||||
self.central_widget = QWidget()
|
||||
self.central_layout = QVBoxLayout(self.central_widget)
|
||||
self.central_layout.setContentsMargins(8, 8, 8, 8)
|
||||
self.setCentralWidget(self.central_widget)
|
||||
self.setup_layout(ui_file)
|
||||
self.setMinimumSize(QSize(675, 825))
|
||||
|
||||
def setup_layout(self, ui_file):
|
||||
self.layout = QHBoxLayout()
|
||||
self.widget = MyWidget(ui_file, self)
|
||||
self.widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
|
||||
self.layout.addWidget(self.widget)
|
||||
self.central_layout.addLayout(self.layout)
|
||||
|
||||
|
||||
class MyWidget(QWidget):
|
||||
def __init__(self, ui_file=_UI_FILEPATH, parent=None):
|
||||
super().__init__(parent)
|
||||
loader = UiLoader(parent)
|
||||
file = QFile(ui_file)
|
||||
file.open(QFile.ReadOnly)
|
||||
loader.load(file, self)
|
||||
file.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
mainWindow = MainWindow(_UI_FILEPATH)
|
||||
mainWindow.setWindowTitle(_PROGRAM_NAME_VERSION)
|
||||
mainWindow.show()
|
||||
sys.exit(app.exec_())
|
||||
+565
@@ -0,0 +1,565 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Dialog</class>
|
||||
<widget class="QDialog" name="Dialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>560</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>560</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>240</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Watcher</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="lineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>122</x>
|
||||
<y>44</y>
|
||||
<width>211</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Watch folder</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QToolButton" name="toolButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>340</x>
|
||||
<y>44</y>
|
||||
<width>25</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>24</x>
|
||||
<y>70</y>
|
||||
<width>92</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Wacher Extensions</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>24</x>
|
||||
<y>44</y>
|
||||
<width>64</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Wacher Foler</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QRadioButton" name="radioButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>24</x>
|
||||
<y>21</y>
|
||||
<width>81</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string> On / Off</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="lineEdit_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>122</x>
|
||||
<y>70</y>
|
||||
<width>211</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>*.sbsar, *.sbs</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="textEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>100</y>
|
||||
<width>331</width>
|
||||
<height>131</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>280</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>SBSAR</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>150</y>
|
||||
<width>70</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>RandomSeed</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="Line" name="line">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>120</x>
|
||||
<y>50</y>
|
||||
<width>20</width>
|
||||
<height>161</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>100</y>
|
||||
<width>121</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Create .material</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>150</y>
|
||||
<width>70</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Glossness</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>100</y>
|
||||
<width>21</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Size</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>50</y>
|
||||
<width>47</width>
|
||||
<height>13</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>30</y>
|
||||
<width>41</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Preset</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>190</y>
|
||||
<width>121</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Render textures</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="lineEdit_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>240</y>
|
||||
<width>181</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Atom Material</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>190</y>
|
||||
<width>70</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Opacity</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>170</y>
|
||||
<width>81</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Roughness</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>120</y>
|
||||
<width>101</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string> 512 * 512</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1024 * 1024</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2048 * 2048</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="lineEdit_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>70</y>
|
||||
<width>121</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>30</y>
|
||||
<width>41</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Output</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="comboBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>50</y>
|
||||
<width>101</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Grey Stone</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Red Coral</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Red Stone</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
<widget class="QToolButton" name="toolButton_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
<y>240</y>
|
||||
<width>25</width>
|
||||
<height>19</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="Line" name="line_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>210</y>
|
||||
<width>361</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>90</y>
|
||||
<width>70</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Specular</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>110</y>
|
||||
<width>70</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Metallic</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>50</y>
|
||||
<width>71</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Base Color</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButton_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>240</y>
|
||||
<width>121</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Bake SBSAR from SBS</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>130</y>
|
||||
<width>81</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Normal map</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>220</x>
|
||||
<y>50</y>
|
||||
<width>20</width>
|
||||
<height>161</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>80</y>
|
||||
<width>91</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Parameters</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="spinBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>170</y>
|
||||
<width>101</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBox_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>70</y>
|
||||
<width>70</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Albedo</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="Line" name="line_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>toolButton</sender>
|
||||
<signal>pressed()</signal>
|
||||
<receiver>lineEdit</receiver>
|
||||
<slot>clear()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>362</x>
|
||||
<y>63</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>237</x>
|
||||
<y>63</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
+494
@@ -0,0 +1,494 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>651</width>
|
||||
<height>807</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Watcher</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_8">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="radioButton_2">
|
||||
<property name="text">
|
||||
<string> On / Off</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="text">
|
||||
<string>Wacher Foler</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="lineEdit_6">
|
||||
<property name="text">
|
||||
<string>Watch folder</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QToolButton" name="toolButton_3">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Wacher Extensions</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="lineEdit_7">
|
||||
<property name="text">
|
||||
<string>*.sbsar, *.sbs</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="textEdit_2"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Sbsar</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tableWidget_fileslist">
|
||||
<property name="columnCount">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderVisible">
|
||||
<bool>true</bool>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderCascadingSectionResizes">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||
<number>100</number>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderStretchLastSection">
|
||||
<bool>true</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>true</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderCascadingSectionResizes">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderDefaultSectionSize">
|
||||
<number>20</number>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderHighlightSections">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>Item #01</string>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
<stylestrategy>PreferDefault</stylestrategy>
|
||||
</font>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>Item #02</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>Item #03</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>Item #04</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>Item #05</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>Item #06</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>Item #07</string>
|
||||
</property>
|
||||
</row>
|
||||
<row>
|
||||
<property name="text">
|
||||
<string>Item #08</string>
|
||||
</property>
|
||||
</row>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>File Path</string>
|
||||
</property>
|
||||
</column>
|
||||
<item row="0" column="0">
|
||||
<property name="text">
|
||||
<string>C:\Users\chunghao\Documents\Allegorithmic\Substance Designer\sbsar\item01.sbsar</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<property name="text">
|
||||
<string>C:\Users\chunghao\Documents\Allegorithmic\Substance Designer\sbsar\item02.sbsar</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<property name="text">
|
||||
<string>C:\Users\chunghao\Documents\Allegorithmic\Substance Designer\sbsar\item03.sbsar</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<property name="text">
|
||||
<string>C:\Users\chunghao\Documents\Allegorithmic\Substance Designer\sbsar\item04.sbsar</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<property name="text">
|
||||
<string>C:\Users\chunghao\Documents\Allegorithmic\Substance Designer\sbsar\item05.sbsar</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<property name="text">
|
||||
<string>C:\Users\chunghao\Documents\Allegorithmic\Substance Designer\sbsar\item06.sbsar</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<property name="text">
|
||||
<string>C:\Users\chunghao\Documents\Allegorithmic\Substance Designer\sbsar\item07.sbsar</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<property name="text">
|
||||
<string>C:\Users\chunghao\Documents\Allegorithmic\Substance Designer\sbsar\item08.sbsar</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_parameters">
|
||||
<property name="title">
|
||||
<string>Parameters</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="text">
|
||||
<string>Preset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="text">
|
||||
<string>Size</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="text">
|
||||
<string>RandomSeed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBox_3">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Grey Stone</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Red Coral</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Red Stone</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBox_4">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string> 512 * 512</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1024 * 1024</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2048 * 2048</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="spinBox_2"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_Output">
|
||||
<property name="title">
|
||||
<string>Output</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_9">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Base Color</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_10">
|
||||
<property name="text">
|
||||
<string>Albedo</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_11">
|
||||
<property name="text">
|
||||
<string>Specular</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_12">
|
||||
<property name="text">
|
||||
<string>Metallic</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_13">
|
||||
<property name="text">
|
||||
<string>Normal map</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_14">
|
||||
<property name="text">
|
||||
<string>Glossness</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_15">
|
||||
<property name="text">
|
||||
<string>Roughness</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_16">
|
||||
<property name="text">
|
||||
<string>Opacity</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_Material">
|
||||
<property name="title">
|
||||
<string>Atom Material</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_4"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_3">
|
||||
<property name="text">
|
||||
<string>Create .material</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_4">
|
||||
<property name="text">
|
||||
<string>Render textures</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_5"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="toolButton_2">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="text">
|
||||
<string>Bake SBSAR from SBS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
+241
@@ -0,0 +1,241 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>461</width>
|
||||
<height>502</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Watcher</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_8">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="radioButton_2">
|
||||
<property name="text">
|
||||
<string> On / Off</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="text">
|
||||
<string>Wacher Foler</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="lineEdit_6">
|
||||
<property name="text">
|
||||
<string>Watch folder</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QToolButton" name="toolButton_3">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Wacher Extensions</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="lineEdit_7">
|
||||
<property name="text">
|
||||
<string>*.sbsar, *.sbs</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="textEdit_2"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Sbsar</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_parameters">
|
||||
<property name="title">
|
||||
<string>Parameters</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2"/>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_Output">
|
||||
<property name="title">
|
||||
<string>Output</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_9">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Base Color</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_10">
|
||||
<property name="text">
|
||||
<string>Albedo</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_11">
|
||||
<property name="text">
|
||||
<string>Specular</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_12">
|
||||
<property name="text">
|
||||
<string>Metallic</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_13">
|
||||
<property name="text">
|
||||
<string>Normal map</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_14">
|
||||
<property name="text">
|
||||
<string>Glossness</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_15">
|
||||
<property name="text">
|
||||
<string>Roughness</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_16">
|
||||
<property name="text">
|
||||
<string>Opacity</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_Material">
|
||||
<property name="title">
|
||||
<string>Atom Material</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2"/>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_5"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="toolButton_2">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="text">
|
||||
<string>Bake SBSAR from SBS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
+341
@@ -0,0 +1,341 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# !/usr/bin/python
|
||||
#
|
||||
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
# its licensors.
|
||||
#
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this
|
||||
# distribution (the "License"). All use of this software is governed by the License,
|
||||
# or, if provided, by the license below or the license accompanying this file. Do not
|
||||
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
import sys, os
|
||||
|
||||
from PySide2 import QtCore, QtWidgets
|
||||
from PySide2.QtCore import QTimer
|
||||
from PySide2.QtCore import QProcess, Signal, Slot, QTextCodec
|
||||
from PySide2.QtGui import QTextCursor
|
||||
from PySide2.QtWidgets import QApplication, QPlainTextEdit
|
||||
sys.path.insert(0, os.path.abspath('../..'))
|
||||
import builder
|
||||
# sys.path.insert(0, os.path.abspath('../ui/'))
|
||||
# import main_win
|
||||
sys.path.insert(0, os.path.abspath('../watchdog/'))
|
||||
import watchdog
|
||||
|
||||
class Window(QtWidgets.QDialog):
|
||||
def __init__(self, parent=None):
|
||||
super(Window, self).__init__(parent)
|
||||
self.browseButton = self.create_button("&Browse...", self.browse)
|
||||
self.findButton = self.create_button("&Find", self.find)
|
||||
self.removeButton = self.create_button("&Remove", self.remove)
|
||||
self.startWatch = self.create_button("&Start Watch", self.watch)
|
||||
self.killButton = self.create_button("&Stop Watch", self.kill)
|
||||
self.fileComboBox = self.createComboBox("*")
|
||||
self.textComboBox = self.createComboBox()
|
||||
# self.directoryComboBox = self.createComboBox(QtCore.QDir.currentPath())
|
||||
self.sbsarDirectory = "C:/Users/chunghao/Documents/Allegorithmic/Substance Designer/sbsar"
|
||||
self.directoryComboBox = self.createComboBox(self.sbsarDirectory)
|
||||
self.extensionLabel = QtWidgets.QLabel("Watch extensions:")
|
||||
# textLabel = QtWidgets.QLabel("Containing text:")
|
||||
self.directoryLabel = QtWidgets.QLabel("Watch directory:")
|
||||
self.filesFoundLabel = QtWidgets.QLabel()
|
||||
self.wacherLogLabel = QtWidgets.QLabel("Watcher Log")
|
||||
self.fileListLabel = QtWidgets.QLabel("File List")
|
||||
self.sbsarPresetLabel = QtWidgets.QLabel("Sbsar Preset")
|
||||
self.OutputResLabel = QtWidgets.QLabel("Output Size")
|
||||
self.OutputsLabel = QtWidgets.QLabel("Outputs")
|
||||
|
||||
self.watcher_log = QPlainTextEdit()
|
||||
self.watcher_log.setReadOnly(True)
|
||||
self.watcher_log.setMaximumBlockCount(10000) # limit console to 10000 lines
|
||||
|
||||
self.watcher_log._cursor_output = self.watcher_log.textCursor()
|
||||
|
||||
self.create_files_table()
|
||||
|
||||
buttonsLayout = QtWidgets.QHBoxLayout()
|
||||
buttonsLayout.addStretch()
|
||||
buttonsLayout.addWidget(self.findButton)
|
||||
# buttonsLayout.addWidget(self.removeButton)
|
||||
buttonsLayout.addWidget(self.startWatch)
|
||||
buttonsLayout.addWidget(self.killButton)
|
||||
|
||||
self.mainLayout = QtWidgets.QGridLayout()
|
||||
self.mainLayout.addWidget(self.extensionLabel, 0, 0)
|
||||
self.mainLayout.addWidget(self.fileComboBox, 0, 1, 1, 2)
|
||||
# self.mainLayout.addWidget(textLabel, 1, 0)
|
||||
# self.mainLayout.addWidget(self.textComboBox, 1, 1, 1, 2)
|
||||
self.mainLayout.addWidget(self.directoryLabel, 2, 0)
|
||||
self.mainLayout.addWidget(self.wacherLogLabel, 3, 0)
|
||||
self.mainLayout.addWidget(self.fileListLabel, 4, 0)
|
||||
self.mainLayout.addWidget(self.directoryComboBox, 2, 1)
|
||||
self.mainLayout.addWidget(self.browseButton, 2, 2)
|
||||
self.mainLayout.addWidget(self.watcher_log, 3, 1, 1, 3)
|
||||
self.mainLayout.addWidget(self.filesTable, 4, 1, 1, 3)
|
||||
self.mainLayout.addWidget(self.filesFoundLabel, 5, 1)
|
||||
self.mainLayout.addLayout(buttonsLayout, 6, 0, 1, 3)
|
||||
self.setLayout(self.mainLayout)
|
||||
|
||||
self.setWindowTitle("Substance Builder")
|
||||
self.resize(800, 300)
|
||||
self.path = self.directoryComboBox.currentText()
|
||||
self.groupbox_outputs = QtWidgets.QGroupBox("Outputs")
|
||||
self.watcher_script = "C:/dccapi/dev/Gems/DccScriptingInterface/LyPy/si_substance/builder/watchdog/__init__.py"
|
||||
|
||||
@Slot(str)
|
||||
def append_output(self, text):
|
||||
self.watcher_log._cursor_output.insertText(text)
|
||||
self.scroll_to_last_line()
|
||||
|
||||
def scroll_to_last_line(self):
|
||||
cursor = self.watcher_log.textCursor()
|
||||
cursor.movePosition(QTextCursor.End)
|
||||
cursor.movePosition(QTextCursor.Up if cursor.atBlockStart() else
|
||||
QTextCursor.StartOfLine)
|
||||
self.watcher_log.setTextCursor(cursor)
|
||||
|
||||
def output_text(self, text):
|
||||
self.watcher_log._cursor_output.insertText(text)
|
||||
self.watcher_log.scroll_to_last_line()
|
||||
def browse(self):
|
||||
# self.directory = QtWidgets.QFileDialog.getExistingDirectory(self, "Find Files",
|
||||
# QtCore.QDir.currentPath())
|
||||
self.directory = QtWidgets.QFileDialog.getExistingDirectory(self, "Find watcher folder",
|
||||
"C:/Users/chunghao/Documents/Allegorithmic/Substance Designer/sbsar")
|
||||
if self.directory:
|
||||
if self.directoryComboBox.findText(self.directory) == -1:
|
||||
self.directoryComboBox.addItem(self.directory)
|
||||
|
||||
self.directoryComboBox.setCurrentIndex(self.directoryComboBox.findText(self.directory))
|
||||
self.path = self.directory
|
||||
self.find()
|
||||
return self.path
|
||||
|
||||
@staticmethod
|
||||
def updateComboBox(comboBox):
|
||||
if comboBox.findText(comboBox.currentText()) == -1:
|
||||
comboBox.addItem(comboBox.currentText())
|
||||
|
||||
def find(self):
|
||||
self.filesTable.setRowCount(0)
|
||||
|
||||
fileName = self.fileComboBox.currentText()
|
||||
text = self.textComboBox.currentText()
|
||||
self.path = self.directoryComboBox.currentText()
|
||||
# self.path = "C:/Users/chunghao/Documents/Allegorithmic/Substance Designer/sbsar"
|
||||
|
||||
self.updateComboBox(self.fileComboBox)
|
||||
self.updateComboBox(self.textComboBox)
|
||||
self.updateComboBox(self.directoryComboBox)
|
||||
|
||||
self.currentDir = QtCore.QDir(self.path)
|
||||
if not fileName:
|
||||
fileName = "*"
|
||||
files = self.currentDir.entryList([fileName],
|
||||
QtCore.QDir.Files | QtCore.QDir.NoSymLinks)
|
||||
|
||||
if text:
|
||||
files = self.find_files(files, text)
|
||||
self.show_files(files)
|
||||
return self.path
|
||||
|
||||
def find_files(self, files, text):
|
||||
progressDialog = QtWidgets.QProgressDialog(self)
|
||||
|
||||
progressDialog.setCancelButtonText("&Cancel")
|
||||
progressDialog.setRange(0, len(files))
|
||||
progressDialog.setWindowTitle("Find Files")
|
||||
|
||||
foundFiles = []
|
||||
|
||||
for i in range(len(files)):
|
||||
progressDialog.setValue(i)
|
||||
progressDialog.setLabelText("Searching file number %d of %d..." % (i, len(files)))
|
||||
QtCore.qApp.processEvents()
|
||||
|
||||
if progressDialog.wasCanceled():
|
||||
break
|
||||
|
||||
inFile = QtCore.QFile(self.currentDir.absoluteFilePath(files[i]))
|
||||
|
||||
if inFile.open(QtCore.QIODevice.ReadOnly):
|
||||
stream = QtCore.QTextStream(inFile)
|
||||
while not stream.atEnd():
|
||||
if progressDialog.wasCanceled():
|
||||
break
|
||||
line = stream.readLine()
|
||||
if text in line:
|
||||
foundFiles.append(files[i])
|
||||
break
|
||||
|
||||
progressDialog.close()
|
||||
|
||||
return foundFiles
|
||||
|
||||
def show_files(self, files):
|
||||
for fn in files:
|
||||
# file = QtCore.QFile(self.currentDir.absoluteFilePath(fn))
|
||||
# size = QtCore.QFileInfo(file).size()
|
||||
|
||||
fileNameItem = QtWidgets.QTableWidgetItem(fn)
|
||||
fileNameItem.setFlags(fileNameItem.flags() ^ QtCore.Qt.ItemIsEditable)
|
||||
# sizeItem = QtWidgets.QTableWidgetItem("%d KB" % (int((size + 1023) / 1024)))
|
||||
# sizeItem.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignRight)
|
||||
# sizeItem.setFlags(sizeItem.flags() ^ QtCore.Qt.ItemIsEditable)
|
||||
row = self.filesTable.rowCount()
|
||||
self.filesTable.insertRow(row)
|
||||
self.filesTable.setItem(row, 0, fileNameItem)
|
||||
# self.filesTable.setItem(row, 1, sizeItem)
|
||||
|
||||
self.filesFoundLabel.setText("%d file(s) found (Double click on a file to open it)" % len(files))
|
||||
|
||||
def create_button(self, text, member):
|
||||
button = QtWidgets.QPushButton(text)
|
||||
button.clicked.connect(member)
|
||||
return button
|
||||
|
||||
def createComboBox(self, text=""):
|
||||
comboBox = QtWidgets.QComboBox()
|
||||
comboBox.setEditable(True)
|
||||
comboBox.addItem(text)
|
||||
comboBox.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
|
||||
QtWidgets.QSizePolicy.Preferred)
|
||||
return comboBox
|
||||
|
||||
def create_files_table(self):
|
||||
self.filesTable = QtWidgets.QTableWidget(0, 1)
|
||||
self.filesTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
||||
|
||||
self.filesTable.setHorizontalHeaderLabels(("File Name", ""))
|
||||
self.filesTable.horizontalHeader().setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch)
|
||||
# self.filesTable.verticalHeader().hide()
|
||||
self.filesTable.verticalHeader().show()
|
||||
self.filesTable.setShowGrid(True)
|
||||
self.filesTable.cellActivated.connect(self.open_fileOfitem)
|
||||
|
||||
def create_sbsar_params(self):
|
||||
self.mainLayout.addWidget(self.OutputsLabel, 9, 0)
|
||||
self.sbsarName = self.item.text().replace(".sbsar", "")
|
||||
self.groupbox_outputs = QtWidgets.QGroupBox("Outputs")
|
||||
self.horizontalLayoutOuputs = QtWidgets.QHBoxLayout(self.groupbox_outputs)
|
||||
self.horizontalLayoutOuputs.setObjectName(("horizontalLayoutOuputs"))
|
||||
# self.vertical_layout_outputs = QtWidgets.QVBoxLayout(self.groupbox_outputs)
|
||||
# self.vertical_layout_outputs.setObjectName("vertical_layout_outputs")
|
||||
self.sbsar_tex_outputs = builder.output_info(self.path, self.sbsarName)['_outputs']
|
||||
|
||||
for index, tex in enumerate(self.sbsar_tex_outputs):
|
||||
print(tex, end=" ")
|
||||
self.sbsar_tex_outputs[index] = QtWidgets.QCheckBox(self.groupbox_outputs)
|
||||
self.sbsar_tex_outputs[index].setEnabled(True)
|
||||
self.sbsar_tex_outputs[index].setChecked(True)
|
||||
self.sbsar_tex_outputs[index].setObjectName(self.sbsarName+"_"+tex)
|
||||
self.sbsar_tex_outputs[index].setText(tex)
|
||||
self.horizontalLayoutOuputs.addWidget(self.sbsar_tex_outputs[index])
|
||||
self.mainLayout.addWidget(self.groupbox_outputs, 9, 1, 1, 3)
|
||||
print("\n")
|
||||
|
||||
def create_sbsar_presets(self):
|
||||
self.mainLayout.addWidget(self.sbsarPresetLabel, 7, 0)
|
||||
self.sbsar_presets = builder.output_info(self.path, self.item.text().replace(".sbsar", ""))['_presets']
|
||||
self.comboBox_SbsarPreset = QtWidgets.QComboBox(self)
|
||||
for self.presetItem in self.sbsar_presets:
|
||||
print(self.presetItem, end=", ")
|
||||
preset_index = 0
|
||||
self.comboBox_SbsarPreset.addItem(self.presetItem)
|
||||
self.comboBox_SbsarPreset.setItemText(preset_index, self.presetItem)
|
||||
preset_index += 1
|
||||
|
||||
self.mainLayout.addWidget(self.comboBox_SbsarPreset, 7, 1, 1, 3)
|
||||
print("\n")
|
||||
self.comboBox_SbsarPreset.activated[str].connect(self.preset_selected)
|
||||
|
||||
def preset_selected(self, text):
|
||||
self.selected_text = text
|
||||
print(self.selected_text)
|
||||
|
||||
def create_tex_res(self):
|
||||
self.mainLayout.addWidget(self.OutputResLabel, 8, 0)
|
||||
self.resSelector = QtWidgets.QComboBox(self)
|
||||
self.res = ["512x512", "1024x1024", "2048x2048"]
|
||||
self.resSelector.addItems(self.res)
|
||||
|
||||
self.mainLayout.addWidget(self.resSelector, 8, 1, 1, 3)
|
||||
self.resSelector.activated[str].connect(self.res_selected)
|
||||
|
||||
def res_selected(self):
|
||||
if self.resSelector.currentIndex() == 0: print("$outputsize@9,9")
|
||||
elif self.resSelector.currentIndex() == 1: print("$outputsize@10,10")
|
||||
elif self.resSelector.currentIndex() == 2: print("$outputsize@11,11")
|
||||
|
||||
def remove(self):
|
||||
|
||||
self.mainLayout.removeWidget(self.groupbox_outputs)
|
||||
self.groupbox_outputs.close()
|
||||
|
||||
def kill(self):
|
||||
reader.kill()
|
||||
|
||||
def watch(self):
|
||||
reader.start('python', ['-u', window.watcher_script, window.sbsarDirectory])
|
||||
|
||||
def open_fileOfitem(self, row, column):
|
||||
self.item = self.filesTable.item(row, 0)
|
||||
print(self.path+"/"+self.item.text())
|
||||
if self.item.text().split(".")[-1] == "sbsar":
|
||||
self.create_sbsar_presets()
|
||||
self.create_tex_res()
|
||||
self.mainLayout.removeWidget(self.groupbox_outputs)
|
||||
self.groupbox_outputs.close()
|
||||
self.create_sbsar_params()
|
||||
elif self.item.text().split(".")[-1] == "sbs":
|
||||
print("This is a Substance File")
|
||||
builder.cook_sbsar(self.path+"/"+self.item.text(), builder._context, self.path, self.item.text().split(".")[0])
|
||||
# builder.output_info()
|
||||
|
||||
class ProcessOutputReader(QProcess):
|
||||
produce_output = Signal(str)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent=parent)
|
||||
|
||||
# merge stderr channel into stdout channel
|
||||
self.setProcessChannelMode(QProcess.MergedChannels)
|
||||
# prepare decoding process' output to Unicode
|
||||
self._codec = QTextCodec.codecForLocale()
|
||||
self._decoder_stdout = self._codec.makeDecoder()
|
||||
# only necessary when stderr channel isn't merged into stdout:
|
||||
# self._decoder_stderr = codec.makeDecoder()
|
||||
|
||||
self.readyReadStandardOutput.connect(self._ready_read_standard_output)
|
||||
# only necessary when stderr channel isn't merged into stdout:
|
||||
# self.readyReadStandardError.connect(self._ready_read_standard_error)
|
||||
|
||||
@Slot()
|
||||
def _ready_read_standard_output(self):
|
||||
raw_bytes = self.readAllStandardOutput()
|
||||
text = self._decoder_stdout.toUnicode(raw_bytes)
|
||||
self.produce_output.emit(text)
|
||||
|
||||
# only necessary when stderr channel isn't merged into stdout:
|
||||
# @Slot()
|
||||
# def _ready_read_standard_error(self):
|
||||
# raw_bytes = self.readAllStandardError()
|
||||
# text = self._decoder_stderr.toUnicode(raw_bytes)
|
||||
# self.produce_output.emit(text)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app = QApplication(sys.argv)
|
||||
reader = ProcessOutputReader()
|
||||
window = Window()
|
||||
reader.produce_output.connect(window.append_output)
|
||||
reader.start('python', ['-u', window.watcher_script, window.sbsarDirectory])
|
||||
window.show()
|
||||
timer = QTimer()
|
||||
timer.timeout.connect(lambda: None)
|
||||
timer.start(10)
|
||||
# sys.exit(reader.kill())
|
||||
sys.exit(app.exec_())
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
/* ============================================================= */
|
||||
/* Global styles */
|
||||
/* ============================================================= */
|
||||
|
||||
|
||||
*
|
||||
{
|
||||
background-color: #444444;
|
||||
color: white;
|
||||
font-family: "Amazon Ember";
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
QMainWindow,
|
||||
QDialog,
|
||||
QDockWidget
|
||||
{
|
||||
color: #cccccc;
|
||||
background-color: #393a3c;
|
||||
}
|
||||
|
||||
QTextEdit,
|
||||
QPlainText,
|
||||
QLineEdit,
|
||||
QSpinBox,
|
||||
QDoubleSpinBox,
|
||||
QComboBox
|
||||
{
|
||||
background-color: #e9e9e9;
|
||||
color: black;
|
||||
font-family: "Amazon Ember";
|
||||
border-radius: 2px;
|
||||
border-width: 0px;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
@import "Text.qss";
|
||||
@import "PushButton.qss";
|
||||
@import "Menu.qss";
|
||||
@import "CheckBox.qss";
|
||||
@import "RadioButton.qss";
|
||||
@import "ToolTip.qss";
|
||||
@import "ProgressBar.qss";
|
||||
@import "ColorPicker.qss";
|
||||
@import "Slider.qss";
|
||||
@import "Card.qss";
|
||||
@import "BrowseEdit.qss";
|
||||
@import "BreadCrumbs.qss";
|
||||
@import "LineEdit.qss";
|
||||
@import "ComboBox.qss";
|
||||
@import "SegmentControl.qss";
|
||||
@import "SpinBox.qss";
|
||||
@import "ScrollBar.qss";
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
BreadCrumbs are QWidgets with a QHBoxLayout with 0 content margins and one QLabel child widget.
|
||||
|
||||
*/
|
||||
|
||||
AzQtComponents--BreadCrumbs
|
||||
{
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
AzQtComponents--BrowseEdit
|
||||
{
|
||||
border-color: transparent;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
AzQtComponents--BrowseEdit QLineEdit
|
||||
{
|
||||
height: 16px;
|
||||
border-width: 0px;
|
||||
border-style: solid;
|
||||
border-color: #444444;
|
||||
border-top-left-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-right-radius: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
}
|
||||
|
||||
AzQtComponents--BrowseEdit QLineEdit:focus
|
||||
{
|
||||
background-color: #FFFFFF;
|
||||
border-color: #FFFFFF;
|
||||
}
|
||||
|
||||
AzQtComponents--BrowseEdit QLineEdit:disabled
|
||||
{
|
||||
background-color: #777777;
|
||||
border-color: #777777;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
AzQtComponents--BrowseEdit QToolButton
|
||||
{
|
||||
max-width: 15px;
|
||||
min-width: 15px;
|
||||
max-height: 14px;
|
||||
min-height: 14px;
|
||||
background-color: #444444;
|
||||
border-color: #000000;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-top-left-radius: 0px;
|
||||
border-bottom-left-radius: 0px;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
}
|
||||
+154
@@ -0,0 +1,154 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
AzQtComponents--Card
|
||||
{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 1px solid rgb(33, 34, 35);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
AzQtComponents--CardNotification
|
||||
{
|
||||
background-color: #1AFDC32D;
|
||||
margin: 2px;
|
||||
border: 1px solid #FDC32D;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
AzQtComponents--CardNotification #HeaderFrame,
|
||||
AzQtComponents--CardNotification #Icon,
|
||||
AzQtComponents--CardNotification #Title
|
||||
{
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* CardHeader is a QFrame with a QHBoxLayout that contains the following children:
|
||||
* #Expander: a QCheckBox used as a "tree expander".
|
||||
* #Icon: a QLabel displaying an icon. The icon is set from c++.
|
||||
* #Title: a QLabel displaying text.
|
||||
* #ContextMenu: a QPushButton used to launch a context menu.
|
||||
*/
|
||||
|
||||
AzQtComponents--CardHeader
|
||||
{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #Background
|
||||
{
|
||||
margin: 2px;
|
||||
padding: 0px;
|
||||
border: none;
|
||||
background-image: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.primaryCardHeader
|
||||
{
|
||||
background-color: #222222;
|
||||
}
|
||||
|
||||
.secondaryCardHeader
|
||||
{
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #Background[readOnly=true]
|
||||
{
|
||||
|
||||
background-repeat: repeat-xy;
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #Background[readOnly=false]
|
||||
{
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #Title
|
||||
{
|
||||
font-weight: bold;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #Expander
|
||||
{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
qproperty-flat: true;
|
||||
border: none;
|
||||
color: transparent;
|
||||
background-color: transparent;
|
||||
selection-color: transparent;
|
||||
selection-background-color: transparent;
|
||||
image: none;
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #Expander:enabled:checked
|
||||
{
|
||||
image: url(:/Cards/img/UI20/Cards/group_open.png);
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #Expander:enabled:!checked
|
||||
{
|
||||
image: url(:/Cards/img/UI20/Cards/group_closed.png);
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #Icon,
|
||||
AzQtComponents--CardHeader #WarningIcon
|
||||
{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #ContextMenu
|
||||
{
|
||||
qproperty-flat: true;
|
||||
border: none;
|
||||
color: transparent;
|
||||
background-color: transparent;
|
||||
selection-color: transparent;
|
||||
selection-background-color: transparent;
|
||||
image: url(:/Cards/img/UI20/Cards/menu_ico.png);
|
||||
}
|
||||
|
||||
AzQtComponents--CardHeader #Help
|
||||
{
|
||||
qproperty-flat: true;
|
||||
border: none;
|
||||
color: transparent;
|
||||
background-color: transparent;
|
||||
selection-color: transparent;
|
||||
selection-background-color: transparent;
|
||||
image: url(:/Cards/img/UI20/Cards/help.png);
|
||||
}
|
||||
|
||||
.separator
|
||||
{
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
AzQtComponents--Card #SeparatorContainer
|
||||
{
|
||||
margin-left: 2px;
|
||||
margin-right: 2px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
+106
@@ -0,0 +1,106 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
QCheckBox
|
||||
{
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
color: rgb(204, 204, 204);
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
QCheckBox::indicator:!focus {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border: 1px solid white;
|
||||
border-radius: 2px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
QCheckBox::indicator:focus {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border: 2px solid rgb(201, 170, 254);
|
||||
border-radius: 4px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
QCheckBox::indicator:disabled {
|
||||
border-color: rgb(128, 128, 128);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:indeterminate:!focus {
|
||||
image: url(../builder/ui/stylesheets/img/UI20/combo-tristate.png);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:indeterminate:focus {
|
||||
image: url(../builder/ui/stylesheets/img/UI20/combo-tristate-focus.png);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked:!focus {
|
||||
image: url(../builder/ui/stylesheets/img/UI20/combo-checked.png);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked:focus {
|
||||
image: url(../builder/ui/stylesheets/img/UI20/combo-checked-focus.png);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked:disabled {
|
||||
image: url(../builder/ui/stylesheets/img/UI20/combo-checked-disabled.png);
|
||||
}
|
||||
|
||||
QCheckBox[class="ToggleSwitch"]::indicator
|
||||
{
|
||||
width: 32px;
|
||||
height: 16px;
|
||||
border-width: 0px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
QCheckBox[class="ToggleSwitch"]::indicator:Unchecked
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/toggle-unchecked.png);
|
||||
}
|
||||
|
||||
QCheckBox[class="ToggleSwitch"]::indicator:disabled
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/toggle-unchecked-disabled.png);
|
||||
}
|
||||
|
||||
QCheckBox[class="ToggleSwitch"]::indicator:Unchecked:focus
|
||||
{
|
||||
width: 36px;
|
||||
height: 20px;
|
||||
border-width: 0px;
|
||||
margin: 0px;
|
||||
image: url(../builder/ui/stylesheets/img/UI20/toggle-unchecked-focus.png);
|
||||
}
|
||||
|
||||
QCheckBox[class="ToggleSwitch"]::indicator:Checked
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/toggle-checked.png);
|
||||
}
|
||||
|
||||
QCheckBox[class="ToggleSwitch"]::indicator:Checked:disabled
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/toggle-checked-disabled.png);
|
||||
}
|
||||
|
||||
QCheckBox[class="ToggleSwitch"]::indicator:Checked:focus
|
||||
{
|
||||
width: 36px;
|
||||
height: 20px;
|
||||
border-width: 0px;
|
||||
margin: 0px;
|
||||
image: url(../builder/ui/stylesheets/img/UI20/toggle-checked-focus.png);
|
||||
}
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
AzQtComponents--ColorPicker
|
||||
{
|
||||
padding: 100px;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker *
|
||||
{
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker QTextEdit,
|
||||
AzQtComponents--ColorPicker QPlainText,
|
||||
AzQtComponents--ColorPicker QLineEdit,
|
||||
AzQtComponents--ColorPicker QSpinBox,
|
||||
AzQtComponents--ColorPicker QDoubleSpinBox
|
||||
{
|
||||
padding-bottom: -2px;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker QToolButton
|
||||
{
|
||||
border: none;
|
||||
max-width: 16px;
|
||||
min-width: 16px;
|
||||
max-height: 16px;
|
||||
min-height: 16px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker QLabel,
|
||||
AzQtComponents--ColorPicker QCheckBox,
|
||||
AzQtComponents--PaletteView,
|
||||
AzQtComponents--ColorPicker #Container
|
||||
{
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker QScrollArea
|
||||
{
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker QLabel
|
||||
{
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
AzQtComponents--PaletteCard AzQtComponents--CardHeader
|
||||
{
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
AzQtComponents--PaletteCard AzQtComponents--CardHeader #Title
|
||||
{
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
AzQtComponents--PaletteCard[modified="true"] AzQtComponents--CardHeader #Title
|
||||
{
|
||||
color: #ffa500;
|
||||
}
|
||||
|
||||
AzQtComponents--PaletteCard AzQtComponents--CardHeader #Expander:enabled:checked
|
||||
{
|
||||
image: url(:/ColorPickerDialog/PaletteCard/open.png);
|
||||
}
|
||||
|
||||
AzQtComponents--PaletteCard AzQtComponents--CardHeader #Expander:enabled:!checked
|
||||
{
|
||||
image: url(:/ColorPickerDialog/PaletteCard/closed.png);
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker QSpinBox,
|
||||
AzQtComponents--ColorPicker QDoubleSpinBox
|
||||
{
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker QSpinBox::down-button,
|
||||
AzQtComponents--ColorPicker QSpinBox::up-button,
|
||||
AzQtComponents--ColorPicker QDoubleSpinBox::down-button,
|
||||
AzQtComponents--ColorPicker QDoubleSpinBox::up-button
|
||||
{
|
||||
width: 0px;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker .HorizontalSeparator
|
||||
{
|
||||
border-top: 1px solid #393a3c;
|
||||
border-bottom: 1px solid #393a3c;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
background: #222222;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorPicker AzQtComponents--PaletteView
|
||||
{
|
||||
border: none;
|
||||
}
|
||||
|
||||
AzQtComponents--ColorGrid,
|
||||
AzQtComponents--ColorPreview,
|
||||
AzQtComponents--Swatch
|
||||
{
|
||||
/* Note: Swatches will ignore any 'background*' property set here */
|
||||
border: 1px solid #333333;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
AzQtComponents--Swatch:selected
|
||||
{
|
||||
/* Note: Swatches will ignore any 'background*' property set here */
|
||||
border: 2px solid #C8ABFF;
|
||||
}
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
/* NOTE: a number of QComboBox properties are defined in BaseStyleSheet.qss already, along with other text entry controls */
|
||||
|
||||
/* ComboBox */
|
||||
|
||||
QComboBox
|
||||
{
|
||||
height: 16px;
|
||||
padding-left: 8px;
|
||||
margin: 4px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
QComboBox:focus
|
||||
{
|
||||
background-color: #FFFFFF;
|
||||
margin: 2px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-radius: 4px;
|
||||
border-color: #C09EFF;
|
||||
}
|
||||
|
||||
QComboBox:disabled
|
||||
{
|
||||
background-color: #777777;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
QComboBox::drop-down
|
||||
{
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
QComboBox::down-arrow
|
||||
{
|
||||
image: url("../builder/ui/stylesheets/img/triangle3.png");
|
||||
}
|
||||
|
||||
QComboBox::down-arrow:disabled
|
||||
{
|
||||
image: url("../builder/ui/stylesheets/img/triangle1.png");
|
||||
}
|
||||
|
||||
/* Popup */
|
||||
|
||||
QComboBox QAbstractItemView
|
||||
{
|
||||
background-color: #222222;
|
||||
padding: 4px 0px 4px 0px;
|
||||
border-radius: 2px;
|
||||
outline: none; /* Disable focus rect */
|
||||
show-decoration-selected: 1;
|
||||
}
|
||||
|
||||
QComboBox QAbstractItemView::item
|
||||
{
|
||||
color: #FFFFFF;
|
||||
padding-top: 6px;
|
||||
padding-bottom: 6px;
|
||||
padding-right: 24px;
|
||||
padding-left: 2px; /* There is already 22px from the check mark */
|
||||
|
||||
/* Without that the padding don't apply */
|
||||
border: 0px solid transparent;
|
||||
}
|
||||
|
||||
/*
|
||||
This is needed as a result of using padding / border in ::item as
|
||||
selection-background-color and selection-color are no more honored...
|
||||
*/
|
||||
QComboBox QAbstractItemView::item:selected
|
||||
{
|
||||
background-color: #444444;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
QComboBox QAbstractItemView::item:disabled
|
||||
{
|
||||
color: #555555;
|
||||
}
|
||||
|
||||
QComboBox QAbstractItemView::separator
|
||||
{
|
||||
height: 1px;
|
||||
background: #444444;
|
||||
}
|
||||
|
||||
QComboBox QAbstractItemView::indicator
|
||||
{
|
||||
/* Keep in sync with the check mark image size */
|
||||
width: 12px;
|
||||
height: 9px;
|
||||
image: none;
|
||||
}
|
||||
|
||||
QComboBox QAbstractItemView::indicator:checked
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/menu-check.png);
|
||||
}
|
||||
+2022
File diff suppressed because it is too large
Load Diff
+36
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
/* NOTE: a number of QLineEdit properties are defined in BaseStyleSheet.qss already, along with other text entry controls */
|
||||
|
||||
QLineEdit
|
||||
{
|
||||
height: 16px;
|
||||
padding-left: 8px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
QLineEdit[HasSearchAction=true] {
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
QLineEdit:focus
|
||||
{
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
QLineEdit:disabled
|
||||
{
|
||||
background-color: #777777;
|
||||
color: #999999;
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
QMenuBar::item:selected
|
||||
{
|
||||
background: #222222;
|
||||
}
|
||||
|
||||
|
||||
QMenu
|
||||
{
|
||||
background-color: #222222;
|
||||
color: #FFFFFF;
|
||||
padding: 4px 0px 4px 0px;
|
||||
|
||||
/* Note: with QMenu, only 'margin' works, not 'margin-bottom' or 'margin-top'. */
|
||||
}
|
||||
|
||||
QMenu::item
|
||||
{
|
||||
color: #FFFFFF;
|
||||
font-size: 12px;
|
||||
padding-top: 6px;
|
||||
padding-bottom: 6px;
|
||||
padding-right: 24px;
|
||||
padding-left: 24px;
|
||||
}
|
||||
|
||||
QMenu::item:selected
|
||||
{
|
||||
background-color: #444444;
|
||||
}
|
||||
|
||||
QMenu::item:disabled
|
||||
{
|
||||
color: #555555;
|
||||
}
|
||||
|
||||
QMenu::separator
|
||||
{
|
||||
height: 1px;
|
||||
background: #444444;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
QProgressBar
|
||||
{
|
||||
border: 0px transparent #000000;
|
||||
border-radius: 0px;
|
||||
background: #888888;
|
||||
height: 7px;
|
||||
font-size: 1px; /* hack to get around the fact that QProgressBar's minimumSizeHint
|
||||
is computed from font size, even when text is invisible */
|
||||
qproperty-textVisible: False;
|
||||
}
|
||||
|
||||
QProgressBar::chunk
|
||||
{
|
||||
background: #B48BFF;
|
||||
}
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* =============================================================
|
||||
Push Buttons
|
||||
|
||||
Painting of the background and the frame of PushButtons
|
||||
are done in code, in PushButton.cpp.
|
||||
|
||||
It's done there because the default Qt rendering, or at least
|
||||
the Fusion style, which we use as our base style, doesn't
|
||||
properly anti-alias and position the button bounding box
|
||||
when we customize the background colors and styles here. Also,
|
||||
there's literally no way to get the colors and styling info out
|
||||
of the stylesheet.
|
||||
|
||||
Below is the configuration of the text colors for the
|
||||
PushButtons and the font size, which can be done here in the
|
||||
stylesheet.
|
||||
|
||||
Everything else can be configured via PushButton.ini
|
||||
============================================================= */
|
||||
|
||||
QPushButton
|
||||
{
|
||||
font-size: 12px;
|
||||
color: white;
|
||||
font-family: "Amazon Ember";
|
||||
}
|
||||
|
||||
QPushButton:hover,
|
||||
QPushButton:pressed
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
|
||||
QPushButton:disabled
|
||||
{
|
||||
color: #C8C8C8;
|
||||
}
|
||||
|
||||
QPushButton.Primary,
|
||||
QPushButton:default,
|
||||
QToolButton::menu-indicator,
|
||||
QToolButton.SmallIcon::menu-indicator
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
|
||||
QPushButton.Primary:disabled,
|
||||
QPushButton:default:disabled,
|
||||
QToolButton.SmallIcon:disabled::menu-indicator
|
||||
{
|
||||
color: #C8C8C8;
|
||||
}
|
||||
|
||||
|
||||
QPushButton::menu-indicator
|
||||
{
|
||||
subcontrol-position: right center;
|
||||
subcontrol-origin: padding;
|
||||
left: -8px;
|
||||
image: url("../builder/ui/stylesheets/img/triangle1.png")
|
||||
}
|
||||
|
||||
QPushButton.SmallIcon
|
||||
{
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
QRadioButton
|
||||
{
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
color: rgb(204, 204, 204);
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
QRadioButton::indicator:!focus
|
||||
{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
QRadioButton::indicator:focus
|
||||
{
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
QRadioButton::indicator:checked
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/radio-checked.png);
|
||||
}
|
||||
|
||||
QRadioButton::indicator:checked:disabled
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/radio-checked-disabled.png);
|
||||
}
|
||||
|
||||
QRadioButton::indicator:checked:focus
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/radio-checked-focus.png);
|
||||
}
|
||||
|
||||
QRadioButton::indicator:unchecked
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/radio-unchecked.png);
|
||||
}
|
||||
|
||||
QRadioButton::indicator:unchecked:disabled
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/radio-unchecked-disabled.png);
|
||||
}
|
||||
|
||||
QRadioButton::indicator:unchecked:focus
|
||||
{
|
||||
image: url(../builder/ui/stylesheets/img/UI20/radio-unchecked-disabled.png);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
QScrollBar:vertical
|
||||
{
|
||||
border: 4px solid rgba(85, 85, 85, 65%);
|
||||
width: 16px;
|
||||
background-color: rgba(85, 85, 85, 65%);
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
QScrollBar:horizontal
|
||||
{
|
||||
border: 4px solid rgba(85, 85, 85, 65%);
|
||||
height: 16px;
|
||||
background-color: rgba(85, 85, 85, 65%);
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
QScrollBar::handle
|
||||
{
|
||||
border: 0px solid #000000;
|
||||
border-radius: 4px;
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
QScrollBar::add-line,
|
||||
QScrollBar::sub-line
|
||||
{
|
||||
border: none;
|
||||
background: none;
|
||||
color: none;
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
QTabWidget
|
||||
{
|
||||
}
|
||||
|
||||
/* An empty ::pane rule removes the default pane style. */
|
||||
QTabWidget::pane
|
||||
{
|
||||
}
|
||||
|
||||
QTabBar
|
||||
{
|
||||
qproperty-drawBase: 0;
|
||||
alignment: center;
|
||||
}
|
||||
|
||||
QTabBar::tab
|
||||
{
|
||||
background-color: #333333;
|
||||
border-color: #000000;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
|
||||
font-size: 12px;
|
||||
|
||||
height: 28px;
|
||||
|
||||
line-height: 24px;
|
||||
|
||||
margin-left: 0px;
|
||||
|
||||
min-width: 100px
|
||||
}
|
||||
|
||||
QTabBar::tab::middle,
|
||||
QTabBar::tab::last
|
||||
{
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
QTabBar::tab:selected
|
||||
{
|
||||
background-color: #222222;
|
||||
}
|
||||
|
||||
QTabBar::tab:hover
|
||||
|
||||
{
|
||||
background-color: #444444;
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
QSpinBox,
|
||||
QDoubleSpinBox
|
||||
{
|
||||
height: 16px;
|
||||
margin: 2px;
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
QSpinBox:focus,
|
||||
QDoubleSpinBox:focus
|
||||
{
|
||||
margin: 0px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-radius: 4px;
|
||||
border-color: #C19CFE;
|
||||
}
|
||||
|
||||
QSpinBox:disabled,
|
||||
QDoubleSpinBox:disabled
|
||||
{
|
||||
background-color: #777777;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
QSpinBox::up-button,
|
||||
QDoubleSpinBox::up-button,
|
||||
QSpinBox::down-button,
|
||||
QDoubleSpinBox::down-button
|
||||
{
|
||||
width: 14px;
|
||||
height: 6px;
|
||||
border-width: 1px;
|
||||
border-color: #222222;
|
||||
border-style: solid;
|
||||
background-color: #333333;
|
||||
}
|
||||
|
||||
QSpinBox::up-button,
|
||||
QDoubleSpinBox::up-button
|
||||
{
|
||||
border-top-right-radius: 2px;
|
||||
image: url(../builder/ui/stylesheets/img/UI20/spinbox-up-arrow.png);
|
||||
}
|
||||
|
||||
QSpinBox::down-button,
|
||||
QDoubleSpinBox::down-button
|
||||
{
|
||||
border-bottom-right-radius: 2px;
|
||||
image: url(../builder/ui/stylesheets/img/UI20/spinbox-down-arrow.png);
|
||||
}
|
||||
|
||||
QSpinBox::up-button:pressed,
|
||||
QDoubleSpinBox::up-button:pressed,
|
||||
QSpinBox::down-button:pressed,
|
||||
QDoubleSpinBox::down-button:pressed
|
||||
{
|
||||
background-color: #111111;
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2c45dda65605edfffe83701f467acbc28230fefdfedcddd1879d12e534f1c903
|
||||
size 1228
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b959d561237d63b859eb9a0bb5ef1fa614a5788b3604a4515232b904803e2e2b
|
||||
size 59380
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b327b9b1ab34d6facc574b4602eb678afa97825bf1aa721fa7505ef5c43ab051
|
||||
size 59380
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:febc3883ac09ea579877deb49a41441f618a1558f63a838ca3e216c65c638b1c
|
||||
size 448
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7e89ed1a88e4b7488a34f9d5ecc3cf231d1c3b2b225fe956e009431ae0cd02d3
|
||||
size 438
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b7226b603a86d0f49f1fcc0159389555c02814af5382ba7b52374cac7e38f3b8
|
||||
size 446
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:63ed841be1103f4892ee5a6e9d7a8b0cdb0985a8267d445299aafc62b645c2fd
|
||||
size 546
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:122e36afcffdb645c3e31d1209c1faa3f4902499b52d012a4b6d48cffd2f20fe
|
||||
size 1160
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:127d144107a9fbde39166ed0376c4426f5cc27a2158414157757763b5191f41f
|
||||
size 1154
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6e1d4d0b66d84814957526e97187064789cc292dd6ddad761adde100b62712eb
|
||||
size 295
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:41085a9d05c4d360ad5e01e1d59dd431938b091b043b607f1dbe5d97979138a7
|
||||
size 372
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d40eecfe6550998ce610a9315db836e0f5ff4b5481c14de80b1ef58fbee60c53
|
||||
size 271
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d7b7a54c2b0f629e3db70aa148dfd296b1a373398cf0a25e352d6a7f52a6cb6d
|
||||
size 381
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e7788561044ecb229d2c1175891d5ebe04c5a68c6b9a55faf2ecb22139ad84c9
|
||||
size 1042
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:01a9e46b7ae80b68288b8d3a81e26b01c00fd8b72bcedd7ce7cebcfac1529153
|
||||
size 1043
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6c90511863eea1443491f48892e6a686325d098d459dfcacbb8b560f46bf29a9
|
||||
size 294
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1dbebd9235853b1b5e5b75669dbb411c1f798681e78ea6bdfcf392bdf14280fb
|
||||
size 169
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3d623ad9cecbb6c3fee912eb39689fe5442f805cd41d32fd6d5a49f5c7b049f7
|
||||
size 372
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:41307cc4f2c5ac0c77cbe2eb15b488a5d52f6c05d850f8dd8d0540ad66e3a925
|
||||
size 1189
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:23bad55f0bf5efcbbe9017dd6b82e5f925349d5c6a2d120f2924aa7e6cd1f3dd
|
||||
size 1122
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:73080538eae03ac319851d4a4c0928547c457eee730b67458794f0ac50a1f174
|
||||
size 528
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6686a111a1d0f0e02d544d24135b9b94599fb332cd43912675c6840eb318bc00
|
||||
size 3293
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d49c822d8f43f0f05dc8e2fa1ccee86ef3731cca074a586eb5b943caddaa6e52
|
||||
size 3306
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7c8bf7b3f70d5f2683a8e495ddf80ecea1a437d63d259730becfd546286a8be2
|
||||
size 3191
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1b4c23e60d84cfa16a310638ffc30d14c7821dbb852e96c5cbfb814aa0af3b1d
|
||||
size 3244
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:beb00c64d91c8e9035414fba270f2b9477a1d15debb2d4acad0481256948b58d
|
||||
size 298
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9b15e390624dc61ad6ae48faedb2f901f016615548747b6ed66296a8dd6ce5d7
|
||||
size 296
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b85878ce2422dba963334dfc04648d893b7f17f9f4e4a395d6fea92c3dc5998e
|
||||
size 198
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:47df1e68051bd26a470e5d9d8af45c26e33c56d06cc379f861d8300963b606de
|
||||
size 188
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
.secondaryText
|
||||
{
|
||||
color: #BBBBBB;
|
||||
}
|
||||
|
||||
.primaryText
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
|
||||
.highlightedText
|
||||
{
|
||||
color: #C9AAFE;
|
||||
}
|
||||
|
||||
.blackText
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
/*
|
||||
Qt supports the line-height field, but only for QTextEdit controls, not for QLabel.
|
||||
Even then, the support isn't exactly what we want.
|
||||
So instead, we apply margin-top and bottom appropriately to get the required spec.
|
||||
|
||||
To get the right line-height, we need to do:
|
||||
|
||||
margin-top: ((line-height - font-size) / 2) px;
|
||||
margin-bottom: ((line-height - font-size) / 2) px;
|
||||
*/
|
||||
|
||||
QLabel
|
||||
{
|
||||
font-size: 12px;
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
font-family: "Amazon Ember";
|
||||
}
|
||||
|
||||
.Headline
|
||||
{
|
||||
font-family: "Amazon Ember Light";
|
||||
font-size: 24px;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.Title
|
||||
{
|
||||
font-size: 18px;
|
||||
margin-top: 7px;
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.Subtitle
|
||||
{
|
||||
font-family: "Amazon Ember Light";
|
||||
font-size: 16px;
|
||||
margin-top: 8px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.Paragraph
|
||||
{
|
||||
font-size: 12px;
|
||||
|
||||
/*
|
||||
line-height doesn't work with multi-line text fields.
|
||||
With single-line text fields, we can get close enough using the margin-top and margin-bottom. That doesn't
|
||||
work for multi-line fields, because there's no inbetween line margins.
|
||||
*/
|
||||
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
QToolTip
|
||||
{
|
||||
color: #ffffff;
|
||||
background-color: black;
|
||||
border: 1px transparent black;
|
||||
margin-left: 2px;
|
||||
font-size: 12px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c9f7e274bfcd9e1fd31084758b9ca782a1c8ba5e2760dee5d27e8f84ec9e90f5
|
||||
size 596
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:13a6a1da6e5e21fbe94b510c68671dfcdc38a5f9fe526699c2d9cccb5387876e
|
||||
size 595
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f470a07169b00dc104bfb365bc7b9e126ca57e133bc26545e4c539322c965fd4
|
||||
size 202
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2834eb4101a3b5ee1f59a8e12d55dc68de0825e24a06c7468a7d9eb4afb3e21f
|
||||
size 218
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2ebc0472590293c3b5e53fabef409bf1db056d3c02582066cf8e6655e5386999
|
||||
size 221
|
||||
+1273
File diff suppressed because it is too large
Load Diff
+371
@@ -0,0 +1,371 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>461</width>
|
||||
<height>502</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Watcher</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_8">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="radioButton_2">
|
||||
<property name="text">
|
||||
<string> On / Off</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="text">
|
||||
<string>Wacher Foler</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="lineEdit_6">
|
||||
<property name="text">
|
||||
<string>Watch folder</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QToolButton" name="toolButton_3">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Wacher Extensions</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="lineEdit_7">
|
||||
<property name="text">
|
||||
<string>*.sbsar, *.sbs</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="textEdit_2"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Sbsar</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_parameters">
|
||||
<property name="title">
|
||||
<string>Parameters</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="text">
|
||||
<string>Preset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="text">
|
||||
<string>Size</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="text">
|
||||
<string>RandomSeed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBox_3">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Grey Stone</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Red Coral</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Red Stone</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBox_4">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string> 512 * 512</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1024 * 1024</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2048 * 2048</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="spinBox_2"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_Output">
|
||||
<property name="title">
|
||||
<string>Output</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_9">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Base Color</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_10">
|
||||
<property name="text">
|
||||
<string>Albedo</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_11">
|
||||
<property name="text">
|
||||
<string>Specular</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_12">
|
||||
<property name="text">
|
||||
<string>Metallic</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_13">
|
||||
<property name="text">
|
||||
<string>Normal map</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_14">
|
||||
<property name="text">
|
||||
<string>Glossness</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_15">
|
||||
<property name="text">
|
||||
<string>Roughness</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_16">
|
||||
<property name="text">
|
||||
<string>Opacity</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_Material">
|
||||
<property name="title">
|
||||
<string>Atom Material</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_4"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_3">
|
||||
<property name="text">
|
||||
<string>Create .material</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_4">
|
||||
<property name="text">
|
||||
<string>Render textures</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_5"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="toolButton_2">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_5">
|
||||
<property name="text">
|
||||
<string>Bake SBSAR from SBS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
Reference in New Issue
Block a user