Here at OTMS we’ve been pushing Oracle/micros products to their fullest for many years. With
Simphony there are so many possible paths for customisation, it can be difficult to know where to
Simphony Styles provide a huge capability and don’t need a great deal of technical knowledge to
What Are We Referring To
Styles are assigned to buttons in Page Designer
On the surface, it just looks like a way to change colour and look of a button, but they can be so
Simphony uses a Microsoft technology called Windows Presentation Foundation (WPF) for its XAML
based user interface (please note this does not apply to the HTML screen options, where styles are
still a little limited). The advantages of WPF is that the entirety of a user interface element can be
replaced. Most elements in Page Designer are buttons. You typically think of menu item buttons,
payment buttons etc. As we can change the entirety of the content we can drop a button onto the
screen, assign a custom style and provide a huge range of functionality.
Here is a button with a style that allows showing a very distinct total due value.
In the simple example above the button provides a very clear Total Due value. It no longer has a
More Advanced Possibilities
In this example we have a rotating message. Great for staff reminders, or Kiosk environments.
It is possible to even embed other controls in a style. This includes incorporating existing Simphony
elements. Here we have another button style that includes a check detail section. We can format the
check detail that we can format as we need. Perhaps you want a review screen with much larger
fonts? An employee with limited sight? All manner of possibilities can be covered with styles.
How To Create A Custom Style
Styles are built out of elements added to Content in EMC. Select Custom Content and the Content.
If you look at the content records, the styles are defined as Type Resource Dictionary
Most Simphony installations will have a number of existing styles defined. If you select one of the
resource dictionaries, you will find that contains XAML text.
Here is what our total due element looks like.
A key thing to note is the key. This needs to be a unique value.
Once you create a new style, you can then access that style in page designer.
The key is the name of the style you will find under the Custom Tab in the Style window.
One of the most powerful features of XAML is called bindings. This is where a user interface element
can be set to reflect (bind) a value in the program that is running.
Here is our Total Due buttons as an example. The XAML in this example contains quite a lot of
The TargetType. This says that this style can be applied to a Simphony button (it is possible to style
other elements as well)
We then say that instead of a button we are going to have a grid with a number of text elements.
The text elements are bound to some Simphony values. If we pick one of these, being
CheckTotalDue, it is not all that obvious what options are available, but they are actually
Simphony provides each and every button something called OpsContext. This is what most user
elements use for binding.
All available options (of which there is an enormous amount of option and flexibility) can be found
Any of these items can be used in the button content.
Where To Start
Starting from scratch can be difficult, but you will almost certainly have some base styles already
present. We can post some basic examples if required (drop us an email). It is almost always easier
to start with a template and modify from there.
When working with styles, you should start with content, and with page designer closed. All
available resource dictionaries are built when you open the page designer.
It is also usually safest to create a test RVC and work with content at that RVC level whilst you are
This is just the start of what can be done with styles. We’ve focussed on items that can be done
without development experience. It is possible to move way beyond this.
At OTMS we’ve created custom Check SLU’s, web content, Menu Item SLU’s with images, and the list