moved filterscript_dialog

This commit is contained in:
alemuntoni 2020-11-24 12:02:48 +01:00
parent 2062504473
commit 3913fc277c
8 changed files with 135 additions and 802 deletions

View File

@ -8,7 +8,6 @@
set(SOURCES
additionalgui.cpp
changetexturename.cpp
filterScriptDialog.cpp
glarea.cpp
glarea_setting.cpp
layerDialog.cpp
@ -24,6 +23,7 @@ set(SOURCES
savemaskexporter.cpp
dialogs/about_dialog.cpp
dialogs/congrats_dialog.cpp
dialogs/filterscript_dialog.cpp
dialogs/options_dialog.cpp
dialogs/savesnapshot_dialog.cpp
dialogs/setting_dialog.cpp
@ -38,7 +38,6 @@ set(SOURCES
set(HEADERS
additionalgui.h
changetexturename.h
filterScriptDialog.h
glarea.h
glarea_setting.h
layerDialog.h
@ -53,6 +52,7 @@ set(HEADERS
snapshotsetting.h
dialogs/about_dialog.h
dialogs/congrats_dialog.h
dialogs/filterscript_dialog.h
dialogs/options_dialog.h
dialogs/savesnapshot_dialog.h
dialogs/setting_dialog.h
@ -68,10 +68,8 @@ set(RESOURCES meshlab.qrc)
set(UI
dialogs/about_dialog.ui
dialogs/congrats_dialog.ui
dialogs/filterscript_dialog.ui
dialogs/savesnapshot_dialog.ui
ui/filterScriptDialog.ui
ui/filtercreatortab.ui
ui/filtergui.ui
ui/layerDialog.ui
ui/renametexture.ui
ui/savemaskexporter.ui)

View File

@ -23,42 +23,42 @@
#include <QFileDialog>
#include "ui_filterScriptDialog.h"
#include "filterScriptDialog.h"
#include "ui_filterscript_dialog.h"
#include "filterscript_dialog.h"
#include "mainwindow.h"
#include "../common/mlexception.h"
#include "rich_parameter_gui/richparameterlistdialog.h"
FilterScriptDialog::FilterScriptDialog(QWidget * parent)
:QDialog(parent)
FilterScriptDialog::FilterScriptDialog(QWidget * parent):
QDialog(parent),
ui(new Ui::FilterScriptDialog)
{
ui = new Ui::scriptDialog();
FilterScriptDialog::ui->setupUi(this);
scriptPtr=0;
connect(ui->okButton, SIGNAL(clicked()), this, SLOT(applyScript()));
connect(ui->clearScriptButton,SIGNAL(clicked()), this, SLOT(clearScript()));
connect(ui->saveScriptButton, SIGNAL(clicked()), this, SLOT(saveScript()));
connect(ui->openScriptButton, SIGNAL(clicked()), this, SLOT(openScript()));
connect(ui->moveUpButton,SIGNAL(clicked()), this, SLOT(moveSelectedFilterUp()));
connect(ui->moveDownButton, SIGNAL(clicked()), this, SLOT(moveSelectedFilterDown()));
connect(ui->removeFilterButton, SIGNAL(clicked()), this, SLOT(removeSelectedFilter()));
connect(ui->editParameterButton, SIGNAL(clicked()), this, SLOT(editSelectedFilterParameters()));
ui->setupUi(this);
scriptPtr=0;
connect(ui->okButton, SIGNAL(clicked()), this, SLOT(applyScript()));
connect(ui->clearScriptButton,SIGNAL(clicked()), this, SLOT(clearScript()));
connect(ui->saveScriptButton, SIGNAL(clicked()), this, SLOT(saveScript()));
connect(ui->openScriptButton, SIGNAL(clicked()), this, SLOT(openScript()));
connect(ui->moveUpButton,SIGNAL(clicked()), this, SLOT(moveSelectedFilterUp()));
connect(ui->moveDownButton, SIGNAL(clicked()), this, SLOT(moveSelectedFilterDown()));
connect(ui->removeFilterButton, SIGNAL(clicked()), this, SLOT(removeSelectedFilter()));
connect(ui->editParameterButton, SIGNAL(clicked()), this, SLOT(editSelectedFilterParameters()));
}
void FilterScriptDialog::setScript(FilterScript *scr)
{
scriptPtr=scr;
ui->scriptListWidget->clear();
for (const FilterNameParameterValuesPair& pair : *scr)
ui->scriptListWidget->addItem(pair.filterName());
ui->scriptListWidget->clear();
for (const FilterNameParameterValuesPair& pair : *scr)
ui->scriptListWidget->addItem(pair.filterName());
}
void FilterScriptDialog::applyScript()
{
//get the main window
MainWindow *mainWindow = qobject_cast<MainWindow*>(parentWidget());
if(NULL == mainWindow){
qDebug() << "problem casting parent of filterscriptdialog to main window";
}
@ -67,9 +67,9 @@ void FilterScriptDialog::applyScript()
void FilterScriptDialog::clearScript()
{
assert(scriptPtr);
scriptPtr->clear();
ui->scriptListWidget->clear();
assert(scriptPtr);
scriptPtr->clear();
ui->scriptListWidget->clear();
}
void FilterScriptDialog::saveScript()
@ -101,72 +101,72 @@ void FilterScriptDialog::openScript()
{
QString fileName = QFileDialog::getOpenFileName(this,tr("Open Filter Script File"),".", "MeshLab Scripting File Format (*.mlx);;Extensible Markup Language (*.xml)");
if (fileName.isEmpty()) return;
scriptPtr->open(fileName);
setScript(scriptPtr);
scriptPtr->open(fileName);
setScript(scriptPtr);
}
void FilterScriptDialog::moveSelectedFilterUp()
{
//NOTE if this class gets to complex using the QT model/view may be a good idea
//however, i found it to be over complicated and not too helpful for reording
int currentRow = ui->scriptListWidget->currentRow();
if ((currentRow == -1) || (currentRow == 0))
return;
//move item up in list
FilterNameParameterValuesPair pair = scriptPtr->takeAt(currentRow);
QString filtername = ui->scriptListWidget->currentItem()->text();
if (pair.filterName() == filtername)
scriptPtr->insert(currentRow-1, pair);
else
throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter.");
//move item up on ui
QListWidgetItem * item = ui->scriptListWidget->takeItem(currentRow);
ui->scriptListWidget->insertItem(currentRow-1, item);
//set selected
ui->scriptListWidget->setCurrentItem(item);
//NOTE if this class gets to complex using the QT model/view may be a good idea
//however, i found it to be over complicated and not too helpful for reording
int currentRow = ui->scriptListWidget->currentRow();
if ((currentRow == -1) || (currentRow == 0))
return;
//move item up in list
FilterNameParameterValuesPair pair = scriptPtr->takeAt(currentRow);
QString filtername = ui->scriptListWidget->currentItem()->text();
if (pair.filterName() == filtername)
scriptPtr->insert(currentRow-1, pair);
else
throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter.");
//move item up on ui
QListWidgetItem * item = ui->scriptListWidget->takeItem(currentRow);
ui->scriptListWidget->insertItem(currentRow-1, item);
//set selected
ui->scriptListWidget->setCurrentItem(item);
}
void FilterScriptDialog::moveSelectedFilterDown()
{
int currentRow = ui->scriptListWidget->currentRow();
if ((currentRow == -1) || (currentRow == scriptPtr->size() - 1))
return;
//move item up in list
FilterNameParameterValuesPair pair = scriptPtr->takeAt(currentRow);
QString filtername = ui->scriptListWidget->currentItem()->text();
if (pair.filterName() == filtername)
scriptPtr->insert(currentRow+1, pair);
else
throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter.");
//move item up on ui
QListWidgetItem * item = ui->scriptListWidget->takeItem(currentRow);
ui->scriptListWidget->insertItem(currentRow+1, item);
//set selected
ui->scriptListWidget->setCurrentItem(item);
int currentRow = ui->scriptListWidget->currentRow();
if ((currentRow == -1) || (currentRow == scriptPtr->size() - 1))
return;
//move item up in list
FilterNameParameterValuesPair pair = scriptPtr->takeAt(currentRow);
QString filtername = ui->scriptListWidget->currentItem()->text();
if (pair.filterName() == filtername)
scriptPtr->insert(currentRow+1, pair);
else
throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter.");
//move item up on ui
QListWidgetItem * item = ui->scriptListWidget->takeItem(currentRow);
ui->scriptListWidget->insertItem(currentRow+1, item);
//set selected
ui->scriptListWidget->setCurrentItem(item);
}
void FilterScriptDialog::removeSelectedFilter()
{
int currentRow = ui->scriptListWidget->currentRow();
if(currentRow == -1)
return;
const FilterNameParameterValuesPair& pair = (*scriptPtr)[currentRow];
QString filtername = ui->scriptListWidget->currentItem()->text();
if (pair.filterName() == filtername)
{
ui->scriptListWidget->takeItem(currentRow);
scriptPtr->removeAt(currentRow);
}
else
throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter.");
if(currentRow == -1)
return;
const FilterNameParameterValuesPair& pair = (*scriptPtr)[currentRow];
QString filtername = ui->scriptListWidget->currentItem()->text();
if (pair.filterName() == filtername)
{
ui->scriptListWidget->takeItem(currentRow);
scriptPtr->removeAt(currentRow);
}
else
throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter.");
}
void FilterScriptDialog::editSelectedFilterParameters()
@ -198,30 +198,30 @@ void FilterScriptDialog::editOldParameters( const int row )
if(row == -1)
return;
QString actionName = ui->scriptListWidget->currentItem()->text();
FilterNameParameterValuesPair& old = (*scriptPtr)[row];
RichParameterList oldParameterSet = old.second;
//get the main window
MainWindow *mainWindow = qobject_cast<MainWindow*>(parentWidget());
if(NULL == mainWindow)
throw MLException("FilterScriptDialog::editXMLParameters : problem casting parent of filterscriptdialog to main window");
//get a pointer to this action and filter from the main window so we can get the
//description of the parameters from the filter
QAction *action = mainWindow->pluginManager().actionFilterMap[actionName];
FilterPluginInterface *iFilter = qobject_cast<FilterPluginInterface *>(action->parent());
if(NULL == iFilter){
qDebug() << "null filter";
return;
}
//fill the parameter set with all the names and descriptions which are lost in the
//filter script
RichParameterList newParameterSet;
iFilter->initParameterList(action, *(mainWindow->meshDoc()), newParameterSet);
if(newParameterSet.size() == oldParameterSet.size()) {
RichParameterList::iterator i = newParameterSet.begin();
RichParameterList::iterator j = oldParameterSet.begin();
@ -232,7 +232,7 @@ void FilterScriptDialog::editOldParameters( const int row )
} else {
qDebug() << "the size of the given list is not the same as the filter suggests it should be. your filter script may be out of date, or there is a bug in the filter script class";
}
//launch the dialog
RichParameterListDialog parameterDialog(this, newParameterSet, "Edit Parameters");
int result = parameterDialog.exec();

View File

@ -26,19 +26,17 @@
#include <QDialog>
#include "../common/filterscript.h"
namespace Ui
{
class scriptDialog;
class scriptEditor;
namespace Ui {
class FilterScriptDialog;
}
class FilterScriptDialog : public QDialog
{
Q_OBJECT
Q_OBJECT
public:
FilterScriptDialog(QWidget *parent = 0);
~FilterScriptDialog();
void setScript(FilterScript *scr);
void setScript(FilterScript *scr);
private slots:
//will do all things that need to be done before the script runs then trigger the running of the script
@ -62,7 +60,7 @@ private slots:
void editSelectedFilterParameters();
private:
Ui::scriptDialog* ui;
Ui::FilterScriptDialog* ui;
FilterScript *scriptPtr;
void editOldParameters(const int row);

View File

@ -1,7 +1,8 @@
<ui version="4.0" >
<class>scriptDialog</class>
<widget class="QDialog" name="scriptDialog" >
<property name="geometry" >
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FilterScriptDialog</class>
<widget class="QDialog" name="FilterScriptDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
@ -9,49 +10,49 @@
<height>404</height>
</rect>
</property>
<property name="windowTitle" >
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<widget class="QListWidget" name="scriptListWidget" />
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QListWidget" name="scriptListWidget"/>
</item>
<item row="0" column="1" >
<layout class="QVBoxLayout" name="verticalLayout" >
<item row="0" column="1">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPushButton" name="moveUpButton" >
<property name="text" >
<widget class="QPushButton" name="moveUpButton">
<property name="text">
<string>Move Up</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="moveDownButton" >
<property name="text" >
<widget class="QPushButton" name="moveDownButton">
<property name="text">
<string>Move Down</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeFilterButton" >
<property name="text" >
<widget class="QPushButton" name="removeFilterButton">
<property name="text">
<string>Remove</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="editParameterButton" >
<property name="text" >
<widget class="QPushButton" name="editParameterButton">
<property name="text">
<string>Edit Parameters</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer" >
<property name="orientation" >
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0" >
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
@ -61,35 +62,35 @@
</item>
</layout>
</item>
<item row="1" column="0" >
<layout class="QHBoxLayout" >
<item row="1" column="0">
<layout class="QHBoxLayout">
<item>
<widget class="QPushButton" name="saveScriptButton" >
<property name="text" >
<widget class="QPushButton" name="saveScriptButton">
<property name="text">
<string>Save Script</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="openScriptButton" >
<property name="text" >
<widget class="QPushButton" name="openScriptButton">
<property name="text">
<string>Open Script</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="clearScriptButton" >
<property name="text" >
<widget class="QPushButton" name="clearScriptButton">
<property name="text">
<string>Clear Script</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0" >
<property name="sizeHint" stdset="0">
<size>
<width>131</width>
<height>31</height>
@ -98,15 +99,15 @@
</spacer>
</item>
<item>
<widget class="QPushButton" name="okButton" >
<property name="text" >
<widget class="QPushButton" name="okButton">
<property name="text">
<string>Apply Script</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="cancelButton" >
<property name="text" >
<widget class="QPushButton" name="cancelButton">
<property name="text">
<string>Close</string>
</property>
</widget>
@ -120,14 +121,14 @@
<connection>
<sender>cancelButton</sender>
<signal>clicked()</signal>
<receiver>scriptDialog</receiver>
<receiver>FilterScriptDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel" >
<hint type="sourcelabel">
<x>369</x>
<y>253</y>
</hint>
<hint type="destinationlabel" >
<hint type="destinationlabel">
<x>179</x>
<y>282</y>
</hint>

View File

@ -25,7 +25,6 @@
#include "mainwindow.h"
#include "plugindialog.h"
#include "filterScriptDialog.h"
#include "savemaskexporter.h"
#include <exception>
#include "ml_default_decorators.h"
@ -53,6 +52,7 @@
#include <wrap/io_trimesh/alnParser.h>
#include <exif.h>
#include "dialogs/about_dialog.h"
#include "dialogs/filterscript_dialog.h"
#include "dialogs/options_dialog.h"
#include "dialogs/savesnapshot_dialog.h"

View File

@ -30,13 +30,13 @@ HEADERS += \
glarea.h \
dialogs/about_dialog.h \
dialogs/congrats_dialog.h \
dialogs/filterscript_dialog.h \
dialogs/options_dialog.h \
dialogs/savesnapshot_dialog.h \
dialogs/setting_dialog.h \
multiViewer_Container.h \
glarea_setting.h \
plugindialog.h \
filterScriptDialog.h \
savemaskexporter.h \
changetexturename.h \
layerDialog.h \
@ -60,12 +60,12 @@ SOURCES += \
glarea.cpp \
dialogs/about_dialog.cpp \
dialogs/congrats_dialog.cpp \
dialogs/filterscript_dialog.cpp \
dialogs/options_dialog.cpp \
dialogs/savesnapshot_dialog.cpp \
dialogs/setting_dialog.cpp \
multiViewer_Container.cpp \
plugindialog.cpp \
filterScriptDialog.cpp \
layerDialog.cpp \
savemaskexporter.cpp \
changetexturename.cpp \
@ -85,12 +85,11 @@ SOURCES += \
FORMS += \
dialogs/about_dialog.ui \
dialogs/congrats_dialog.ui \
dialogs/filterscript_dialog.ui \
dialogs/savesnapshot_dialog.ui \
ui/layerDialog.ui \
ui/filterScriptDialog.ui \
ui/renametexture.ui \
ui/savemaskexporter.ui \
ui/filtergui.ui
ui/savemaskexporter.ui
RESOURCES += \
meshlab.qrc

View File

@ -1,135 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FilterCreatorTab</class>
<customwidgets>
<customwidget>
<class>PrimitiveButton</class>
<extends>QPushButton</extends>
<header>additionalgui.h</header>
</customwidget>
<customwidget>
<class>FilterGeneratorGUI</class>
<extends>QFrame</extends>
<header>xmlgeneratorgui.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>MLScriptEditor</class>
<extends>QPlainTextEdit</extends>
<header>additionalgui.h</header>
</customwidget>
</customwidgets>
<widget class="QFrame" name="FilterCreatorTab">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>785</width>
<height>700</height>
</rect>
</property>
<property name="windowTitle">
<string>Frame</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="mainlayout">
<item row="0" column="0">
<widget class="PrimitiveButton" name="jsbut">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="text">
<string>JavaScript Code Area</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QFrame" name="jsframe">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="MLScriptEditor" name="jscode"/>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="PrimitiveButton" name="guibut">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_2">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="text">
<string>Filter Generator GUI</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="FilterGeneratorGUI" name="guiframe">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -1,528 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FilterCreatorGUI</class>
<widget class="QFrame" name="FilterCreatorGUI">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>567</width>
<height>325</height>
</rect>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>247</red>
<green>247</green>
<blue>247</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>160</red>
<green>160</green>
<blue>160</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>247</red>
<green>247</green>
<blue>247</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>247</red>
<green>247</green>
<blue>247</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>160</red>
<green>160</green>
<blue>160</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>247</red>
<green>247</green>
<blue>247</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>247</red>
<green>247</green>
<blue>247</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>160</red>
<green>160</green>
<blue>160</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>240</red>
<green>32</green>
<blue>122</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="windowTitle">
<string>Filter Editor</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Filter Name</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="nameLine">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="2" rowspan="8">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Parameters Viewer</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="TreeWidgetWithMenu" name="paramviewer">
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Filter JS Function </string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="functionLine"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Category</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="CheckBoxList" name="category"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Arity</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="arity"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Pre-Conditions</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="CheckBoxList" name="precond"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Post-Conditions</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="CheckBoxList" name="postcond"/>
</item>
<item row="7" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Filter Help</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QPlainTextEdit" name="helpedit"/>
</item>
</layout>
</widget>
</item>
<item row="6" column="1">
<widget class="QCheckBox" name="isinterr">
<property name="text">
<string>Is Interruptible</string>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>CheckBoxList</class>
<extends>QComboBox</extends>
<header>additionalgui.h</header>
</customwidget>
<customwidget>
<class>TreeWidgetWithMenu</class>
<extends>QTreeWidget</extends>
<header>additionalgui.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>