Commit 4c81d438 authored by Utkarsh Ayachit's avatar Utkarsh Ayachit
Browse files

BUG #13036. Fix Calculator panel.

Coverting Calculator panel to new style to overcome bugs in the panel code.
Adding a new pqCalculatorWidget which is a pqPropertyWidget that can be
connected to any property that needs a calculator like functionality.
parent 7723cdc1
......@@ -3,10 +3,7 @@
<pqevent object="pqClientMainWindow/menubar/menuSources" command="activate" arguments="RTAnalyticSource" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/Accept" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/menubar/menuFilters/pqProxyGroupMenuManager0/Calculator" command="activate" arguments="" />
<pqevent
object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/Function"
command="set_string" arguments="-sin(RTData)" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/Function" command="set_string" arguments="-sin(RTData)" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/Accept" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/DisplayFrame/Representation/displayRepresentationWidget/comboBox" command="set_string" arguments="Surface" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/DisplayFrame/ColorEditor/1QGroupBox0/1pqGenericSummaryDisplayPanel0/1pqDisplayColorWidget0/Variables" command="set_string" arguments="Result" />
......
......@@ -3,23 +3,23 @@
<pqevent object="pqClientMainWindow/menubar/menuSources" command="activate" arguments="Sphere" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/Accept" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/menubar/menuFilters/Alphabetical" command="activate" arguments="Calculator" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/Scalars" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/Scalars" command="activate" arguments="" />
<pqevent object="1QMenu0" command="activate" arguments="Normals_X" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/Multiply" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/iHat" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/Plus" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/sqrt" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/LeftParentheses" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/Scalars" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/Multiply" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/iHat" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/Plus" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/sqrt" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/LeftParentheses" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/Scalars" command="activate" arguments="" />
<pqevent object="1QMenu0" command="activate" arguments="Normals_Y" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/RightParentheses" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/Multiply" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/jHat" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/Plus" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/Scalars" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/RightParentheses" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/Multiply" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/jHat" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/Plus" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/Scalars" command="activate" arguments="" />
<pqevent object="1QMenu0" command="activate" arguments="Normals_Z" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/Multiply" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/1pqObjectPanelPropertyWidget0/CalculatorPanel/kHat" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/Multiply" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/Function/kHat" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/Accept" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/menubar/menuFilters/Alphabetical" command="activate" arguments="WarpVector" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/PropertiesFrame/SelectInputVectors/ComboBox" command="set_string" arguments="Result" />
......
......@@ -146,8 +146,10 @@ inline const char* vtkSMPropertyHelper::GetProperty(unsigned int index) const
this->Property->FindDomain("vtkSMEnumerationDomain"));
if(domain != NULL)
{
const char* entry = domain->GetEntryTextForValue(this->IntVectorProperty->GetElement(index));
if(entry)
const char* entry = domain->GetEntryTextForValue(
(this->UseUnchecked ? this->IntVectorProperty->GetUncheckedElement(index) :
this->IntVectorProperty->GetElement(index)));
if (entry)
{
return entry;
}
......
......@@ -1915,54 +1915,46 @@ found and the point will be rejected.</Documentation>
<DataTypeDomain name="input_type">
<DataType value="vtkDataSet" />
</DataTypeDomain>
<InputArrayDomain name="input_array" />
<Documentation>This property specifies the input dataset to the
Calculator filter. The scalar and vector variables may be chosen from
this dataset's arrays.</Documentation>
</InputProperty>
<IntVectorProperty command="SetAttributeMode"
default_values="1"
name="AttributeMode"
number_of_elements="1">
<EnumerationDomain name="enum">
<Entry text="Point Data" value="1" />
<Entry text="Cell Data" value="2" />
</EnumerationDomain>
<Documentation>This property determines whether the computation is to
be performed on point-centered or cell-centered data.</Documentation>
</IntVectorProperty>
<IntVectorProperty command="SetCoordinateResults"
default_values="0"
name="CoordinateResults"
number_of_elements="1"
panel_visibility="advanced">
<BooleanDomain name="bool" />
<Documentation>The value of this property determines whether the
results of this computation should be used as point coordinates or as a
new array.</Documentation>
</IntVectorProperty>
<StringVectorProperty command="SetResultArrayName"
default_values="Result"
name="ResultArrayName"
number_of_elements="1">
<Documentation>This property contains the name for the output array
containing the result of this computation.</Documentation>
<Hints>
<ShowInSummaryPanel />
</Hints>
</StringVectorProperty>
<StringVectorProperty command="SetFunction"
name="Function"
number_of_elements="1">
number_of_elements="1"
panel_widget="calculator" >
<Documentation>This property contains the equation for computing the
new array.</Documentation>
<Hints>
<ShowInSummaryPanel />
</Hints>
</StringVectorProperty>
<IntVectorProperty command="SetCoordinateResults"
default_values="0"
name="CoordinateResults"
number_of_elements="1"
panel_visibility="advanced">
<BooleanDomain name="bool" />
<Documentation>The value of this property determines whether the
results of this computation should be used as point coordinates or as a
new array.</Documentation>
</IntVectorProperty>
<IntVectorProperty command="SetAttributeMode"
default_values="0"
name="AttributeMode"
number_of_elements="1">
<EnumerationDomain name="enum">
<Entry text="point_data"
value="1" />
<Entry text="cell_data"
value="2" />
<Entry text="field_data"
value="5" />
</EnumerationDomain>
<Documentation>This property determines whether the computation is to
be performed on point-centered or cell-centered data.</Documentation>
</IntVectorProperty>
<IntVectorProperty command="SetReplaceInvalidValues"
default_values="1"
label="Replace Invalid Results"
......
......@@ -34,17 +34,20 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "pqApplicationCore.h"
#include "pqArrayStatusPropertyWidget.h"
#include "pqColorSelectorPropertyWidget.h"
#include "pqCalculatorWidget.h"
#include "pqColorEditorPropertyWidget.h"
#include "pqColorSelectorPropertyWidget.h"
#include "pqCubeAxesPropertyWidget.h"
#include "pqDisplayRepresentationWidget.h"
#include "pqPipelineRepresentation.h"
#include "pqProxy.h"
#include "pqServerManagerModel.h"
#include "pqTextureSelectorPropertyWidget.h"
#include "vtkSMPropertyGroup.h"
#include "vtkSMProperty.h"
#include "vtkSMProxy.h"
#include "pqTextureSelectorPropertyWidget.h"
#include <QtDebug>
pqStandardPropertyWidgetInterface::pqStandardPropertyWidgetInterface(QObject *p)
: QObject(p)
......@@ -77,6 +80,14 @@ pqStandardPropertyWidgetInterface::createWidgetForProperty(vtkSMProxy *smProxy,
{
return new pqTextureSelectorPropertyWidget(smProxy);
}
else if (name == "calculator")
{
return new pqCalculatorWidget(smProxy, smProperty);
}
else
{
qDebug() << "Unknown \"panel_widget\" '" << name.c_str() << "' specified.";
}
}
return 0;
......
......@@ -38,7 +38,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "pqRepresentation.h"
#include "vtkSMPropertyHelper.h"
#include "pqChartSummaryDisplayPanel.h"
#include "pqCalculatorSummaryPanel.h"
#include "pqAutoGeneratedObjectPanel.h"
#include "pqProxy.h"
......
......@@ -80,8 +80,8 @@ set (Module_SRCS
pqBoxWidget.h
pqCalculatorPanel.cxx
pqCalculatorPanel.h
pqCalculatorSummaryPanel.cxx
pqCalculatorSummaryPanel.h
pqCalculatorWidget.cxx
pqCalculatorWidget.h
pqCameraDialog.cxx
pqCameraDialog.h
pqCameraKeyFrameWidget.cxx
......@@ -440,7 +440,7 @@ set (Module_MOC_HDRS
pqAutoGeneratedObjectPanel.h
pqBoxWidget.h
pqCalculatorPanel.h
pqCalculatorSummaryPanel.h
pqCalculatorWidget.h
pqCameraDialog.h
pqCameraKeyFrameWidget.h
pqChangeInputDialog.h
......@@ -605,6 +605,7 @@ set (Module_UI_FILES
Resources/UI/pqBarChartOptionsWidget.ui
Resources/UI/pqBoxWidget.ui
Resources/UI/pqCalculatorPanel.ui
Resources/UI/pqCalculatorWidget.ui
Resources/UI/pqCameraDialog.ui
Resources/UI/pqCameraKeyFrameWidget.ui
Resources/UI/pqChangeInputDialog.ui
......
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CalculatorWidget</class>
<widget class="QWidget" name="CalculatorWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>339</width>
<height>200</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7" stretch="0,1,0">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="Function"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QToolButton" name="Clear">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Clear</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="sin">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>sin</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="asin">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>asin</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="sinh">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>sinh</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="v1v2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>v1.v2</string>
</property>
<property name="autoRaise">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QToolButton" name="LeftParentheses">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>(</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="cos">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>cos</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="acos">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>acos</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="cosh">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>cosh</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="mag">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>mag</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QToolButton" name="RightParentheses">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>)</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="tan">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>tan</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="atan">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>atan</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="tanh">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>tanh</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="norm">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>norm</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QToolButton" name="iHat">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>iHat</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="abs">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>abs</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="ceil">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>ceil</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="xy">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>x^y</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="ln">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>ln</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QToolButton" name="jHat">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">