.. _global_gui: ### GUI ### The GUI configuration plugin extends the configuration of graphical user interfaces to various options to adjust the look and feel. Description =========== All SeisComP3 graphical user interfaces are based on a common libraries. This chapter describes what configuration and styling options are available for all GUI applications. The GUI specific configuration options are additional to the standard application options. Setup the e.g. messaging connection and database is equal to the CLI (command line interface) applications. Styling ======= To adjust the look-and-feel to the host desktop system and the personal taste several styling options are available. Since all GUI applications are using the Qt4 library the tool "qtconfig-qt4" can used to adjust the widget theme and the colors. If KDE is used as desktop system the same style is used since KDE bases on Qt as well. The style options supported by SC3 (and not covered by the general Qt setup) have to be given in the applications (or global) configuration file. The parameters are prefixed with *scheme.*. Configuration syntax ==================== Beside the usual integer, float, boolean and string parameters GUI applications support also color, color gradient, pen, brush and font parameters. The syntax is explained below: Colors ------ .. code-block:: sh color = RRGGBBAA | "rgb(red,green,blue)" | "rgba(red,green,blue,alpha)" Colors are specified either in a hexadecimal notation or in a rgb(a) notation. When using the rgb(a) notation it should be quoted. Otherwise the configuration parser would tokenize the value into 3 or 4 strings due to the comma. Color gradients --------------- .. code-block:: sh gradient = 1:FF0000, 2:00FF00, 3:0000FF This defines a gradient from red through green to blue for the nodes 1, 2 and 3. Values out of range are clipped to the lower or upper bound. Fonts ----- .. code-block:: sh # The font family font.family = "Arial" # Point size font.size = 12 # Bold? # Default: false font.bold = false # Italic? # Default: false font.italic = false # Underline? # Default: false font.underline = false # Overline? # Default: false font.overline = false An example to configure the SC3 base font: .. code-block:: sh scheme.fonts.base.family = "Arial" scheme.fonts.base.size = 10 Pens ---- Pens are used in the vector layer configuration. Pens have three attributes: color, style and width. Color follows the described color definition, width is a double and the styles are: +------------------------------------+---------------------------------------+------------------------------------------+ | .. figure:: media/gui/pen-no.png | .. figure:: media/gui/pen-solid.png | .. figure:: media/gui/pen-dot.png | +------------------------------------+---------------------------------------+------------------------------------------+ | nopen | solidline | dotline | +------------------------------------+---------------------------------------+------------------------------------------+ | .. figure:: media/gui/pen-dash.png | .. figure:: media/gui/pen-dashdot.png | .. figure:: media/gui/pen-dashdotdot.png | +------------------------------------+---------------------------------------+------------------------------------------+ | dashline | dashdotline | dashdotdotline | +------------------------------------+---------------------------------------+------------------------------------------+ | *Images from Qt 4.1 documentation: http://doc.qt.digia.com/4.1/qt.html#PenStyle-enum* | +------------------------------------+---------------------------------------+------------------------------------------+ Example: .. code-block:: sh # Blue dotted pen pen.color = 0000ff pen.style = dotline Brushes ------- Brushes are also used in the vector layer configuration. Brushes are used to fill a polygon. They have two attributes: color and pattern. Color followes the described color definition and patterns are: .. figure:: media/gui/brush-patterns.png Example: .. code-block:: sh # Red solid brush brush.color = ff0000 brush.pattern = solid Map vector layers ================= SeisComP3 supports drawing of arbitrary polygons/polylines. Currently the FEP (:file:`share/fep` or :file:`~/.seiscomp3/fep`) and BNA (:file:`share/bna` or :file:`~/.seiscomp3/bna`) data sets are loaded and may be visualized. While the FEP layer is configured through the layer 'fep', the layer (resp. category) of the BNA data is derived from the directory structure of the BNA folder. In fact the depth of the BNA directory tree is arbitrary and subfolders form subcategories. E.g. the directory tree :file:`bna/coastline/europe/germany` will generate the categories coastline, coastline.europe and coastline.europe.germany which all may be configured individually. Every undefined property is inherited from the parent category. Due to its recursive structure the configuration options have not been added to the description xml file. The general configuration parameter format is *prefix.category.param*. If global layer properties are configured then just *prefix.param*. The prefix for layer configuration is *map.layers*. Available configuration options per category are: .. confval:: visible Type: *boolean* Show/hide the layer Default is ``true``. .. confval:: drawName Type: *boolean* Draws the segment name in the center of the bounding box. For segments read from BNA files the name is extracted from the first part of the header. Default is ``false``. .. confval:: rank Type: *int* Set or override the rank of the segment. The rank defines the zoom level at which drawing of the segment starts. For segments read from BNA files the name is extracted from the second part of the header if it has the form "rank VALUE", e.g. rank 12. Default is ``1``. .. confval:: roughness Type: *int* Sets the roughness of a polyline or polygon while zooming. The roughness is somehow defined in pixels and removes successive vertices if the distance in pixel is less than roughness. The higher the value the less vertices a rendered polyline or polygon will finally have and the faster the rendering. If set to 0 then the feature is disabled. Default is ``3``. .. confval:: debug Type: *boolean* If enabled, the bounding box of the segment is drawn. Default is ``false``. .. confval:: pen.width Type: *double* Pen width. Default is ``1.0``. .. confval:: pen.color Type: *color* Pen color. Default is ``000000ff``. .. confval:: pen.style Type: *string* Line style. Supported values are: dashdotdotline, dashdotline, dashline, dotline, nopen and solidline. Default is ``solidline``. .. confval:: brush.color Type: *color* Fill color. Default is ``000000ff``. .. confval:: brush.pattern Type: *color* Fill pattern. Supported values are: nobrush, solid, dense1, dense2, dense3, dense4, dense5, dense6, dense7, horizontal, vertical, cross, bdiag, fdiag and diagcross. Default is ``nobrush``. .. confval:: font.size Type: *int* .. confval:: font.family Type: *string* .. confval:: font.bold Type: *boolean* .. confval:: font.italic Type: *boolean* .. confval:: font.underline Type: *boolean* .. confval:: font.overline Type: *boolean* Example: .. code-block:: sh # Set global layer boundary color to black map.layers.pen.color = 000000 # Set coastline boundary color to orange and pen width to 2 map.layers.coastline.pen.color = ff8000 map.layers.coastline.pen.width = 2 # Set boundary of Germany to red. Pen width is still 2 (inherited from # coastline) map.layers.coastline.europe.germany = ff0000 # Set river color to blue map.layers.river.pen.color = 0000ff Configuration ============= .. confval:: map.location Type: *string* Specified the location and the structure of the map tiles to be used. This path is composed of zero or more directives and must include at least one conversion specification which starts with is introduced by the character % followed by a conversion specifier. Valid specifiers are s \(replaced by tile ID\), l \(tile level\), c \(tile column\) and r \(tile row\). An example for using the OpenStreetMap file structure is \/path\/to\/maps\/%l\/%c\/%r.png. Default is ``@DATADIR@/maps/world%s.png``. .. confval:: map.format Type: *string* Projection of the map tiles. Supported formats are: rectangular and mercator. Default is ``rectangular``. .. confval:: map.cacheSize Type: *int* Cache size of the map tiles. If 0 is specified a default cache size of 32mb is used. The higher the cache size the better the performance in higher resolutions. A higher cache size causes less image loader calls but requires more client memory. Default is ``0``. .. note:: **scheme.\*** *This group defines various color and font options for SeisComp3* *graphical user interfaces. There are various conventions* *to define colors, fonts and gradients. A color is defined in HTML* *convention. If rgb or rgba is used it must be quoted because the* *comma is handled as list separator by the configuration. Gradients* *are configured as lists of tuples where each tuple is colon separated* *in the form value:color. Color is again a color definition and value is* *either int or double.* .. confval:: scheme.showMenu Type: *boolean* Show menu bar. Default is ``true``. .. confval:: scheme.showStatusBar Type: *boolean* Show status bar. Default is ``true``. .. confval:: scheme.tabPosition Type: *string* Set position if tab bar. An unset value lets the application decide where to place the tab bar. This option might not be supported by all applications. Valid positions are: off, north, south, east, west .. confval:: scheme.colors.background Type: *color* A general application background color. Can be uses to give each application a different background color. An unset value lets Qt decide. .. confval:: scheme.colors.records.foreground Type: *color* The general color of records\/traces. Default is ``808080``. .. confval:: scheme.colors.records.alternateForeground Type: *color* A general trace color of the alternate trace \(eg scheli\). Default is ``808080``. .. confval:: scheme.colors.records.gaps Type: *color* The color of data gaps in trace views. Default is ``FFFF0032``. .. confval:: scheme.colors.picks.manual Type: *color* The color of manual picks. Default is ``00FF00``. .. confval:: scheme.colors.picks.automatic Type: *color* The color of automatic picks. Default is ``FF0000``. .. confval:: scheme.colors.picks.undefined Type: *color* The color of picks with undefined state. Default is ``A0A0A4``. .. confval:: scheme.colors.picks.disabled Type: *color* The color of disabled picks. Default is ``A0A0A4``. .. confval:: scheme.colors.arrivals.manual Type: *color* The color of manual arrivals \(arrivals that bind manual picks, e.g. residual plot of scolv, manual picker, ...\) Default is ``00A000``. .. confval:: scheme.colors.arrivals.automatic Type: *color* The color of automatic arrivals, Default is ``A00000``. .. confval:: scheme.colors.arrivals.theoretical Type: *color* The color of theoretical arrivals. Default is ``0000A0``. .. confval:: scheme.colors.arrivals.undefined Type: *color* The color of arrivals binding picks with undefined state. Default is ``A00000``. .. confval:: scheme.colors.arrivals.disabled Type: *color* The color of disabled arrivals. Default is ``A0A0A4``. .. confval:: scheme.colors.arrivals.residuals Type: *gradient* The gradient of arrivals residuals. A gradient is defined as a list of tuples separated by colon where the first item is the value and the second is the color. Colors can be given in rgb notation or hex. when rgb is used double quotes are needed to protect the comma inside the rgb definition, e.g. \-8:\"rgb\(0,0,100\)\", \-4:\"rgb\(0,0,255\)\", \-3:\"rgb\(100,100,255\)\", ... .. confval:: scheme.colors.magnitudes.set Type: *color* The color of active magnitudes. Default is ``00A000``. .. confval:: scheme.colors.magnitudes.unset Type: *color* The color of inactive magnitudes. Default is ``000000``. .. confval:: scheme.colors.magnitudes.disabled Type: *color* The color of disabled magnitudes. Default is ``A0A0A4``. .. confval:: scheme.colors.magnitudes.residuals Type: *gradient* The gradient of magnitude residuals. .. confval:: scheme.colors.stations.associated Type: *color* The color of associated stations \(e.g. in scmv\). Default is ``82AD58``. .. confval:: scheme.colors.stations.triggering Type: *color* The color of triggered stations. .. confval:: scheme.colors.stations.triggered0 Type: *color* *No description available* .. confval:: scheme.colors.stations.triggered1 Type: *color* *No description available* .. confval:: scheme.colors.stations.triggered2 Type: *color* *No description available* .. confval:: scheme.colors.stations.disabled Type: *color* The color of disabled stations. .. confval:: scheme.colors.stations.idle Type: *color* The color of idle stations. .. note:: **scheme.colors.qc.\*** *The color of QC.delay thresholds in scmv.* .. confval:: scheme.colors.qc.delay0 Type: *color* *No description available* .. confval:: scheme.colors.qc.delay1 Type: *color* *No description available* .. confval:: scheme.colors.qc.delay2 Type: *color* *No description available* .. confval:: scheme.colors.qc.delay3 Type: *color* *No description available* .. confval:: scheme.colors.qc.delay4 Type: *color* *No description available* .. confval:: scheme.colors.qc.delay5 Type: *color* *No description available* .. confval:: scheme.colors.qc.delay6 Type: *color* *No description available* .. confval:: scheme.colors.qc.delay7 Type: *color* *No description available* .. confval:: scheme.colors.qc.qcWarning Type: *color* *No description available* .. confval:: scheme.colors.qc.qcError Type: *color* *No description available* .. confval:: scheme.colors.qc.qcOk Type: *color* *No description available* .. confval:: scheme.colors.qc.qcNoSet Type: *color* *No description available* .. note:: **scheme.colors.gm.\*** *The color of ground motion amplitudes in scmv.* .. confval:: scheme.colors.gm.gm0 Type: *color* *No description available* .. confval:: scheme.colors.gm.gm1 Type: *color* *No description available* .. confval:: scheme.colors.gm.gm2 Type: *color* *No description available* .. confval:: scheme.colors.gm.gm3 Type: *color* *No description available* .. confval:: scheme.colors.gm.gm4 Type: *color* *No description available* .. confval:: scheme.colors.gm.gm5 Type: *color* *No description available* .. confval:: scheme.colors.gm.gm6 Type: *color* *No description available* .. confval:: scheme.colors.gm.gm7 Type: *color* *No description available* .. confval:: scheme.colors.gm.gm8 Type: *color* *No description available* .. confval:: scheme.colors.gm.gm9 Type: *color* *No description available* .. confval:: scheme.colors.gm.gmNotSet Type: *color* *No description available* .. confval:: scheme.colors.recordView.selectedTraceZoom Type: *color* The color of the selected zoom area \(e.g. manual picker\). Default is ``C0C0FFC0``. .. confval:: scheme.colors.map.lines Type: *color* The color of lines in the map \(e.g. lines connecting the origin and a station\). .. confval:: scheme.colors.map.outlines Type: *color* The color of station outlines in the map. .. confval:: scheme.colors.map.grid Type: *color* The color grid line color of the map. .. confval:: scheme.colors.map.stationAnnotations Type: *color* The color of station annotations. .. confval:: scheme.colors.map.cityLabels Type: *color* The color of city labels. .. confval:: scheme.colors.map.cityOutlines Type: *color* The color of city outlines. .. confval:: scheme.colors.map.cityCapital Type: *color* The color of a capital. .. confval:: scheme.colors.map.cityNormal Type: *color* The color of a \"normal\" city. .. confval:: scheme.colors.legend.background Type: *color* The map legend background color. .. confval:: scheme.colors.legend.border Type: *color* The map legend border color. .. confval:: scheme.colors.legend.text Type: *color* The map legend text color. .. confval:: scheme.colors.legend.headerText Type: *color* The map legend header color. .. confval:: scheme.colors.originSymbol.depth.gradient Type: *gradient* The depth gradient. Default is ``0:FF0000,50:ffA500,100:FFFF00,250:00FF00,600:0000FF``. .. confval:: scheme.colors.originSymbol.depth.discrete Type: *boolean* Setting this parameter to true will not interpolate between the depth steps and the color for a depth <\= input is used. Default is ``true``. .. note:: **scheme.colors.originStatus.\*** *The origin status colors (e.g. in event list).* .. confval:: scheme.colors.originStatus.automatic Type: *color* *No description available* .. confval:: scheme.colors.originStatus.manual Type: *color* *No description available* .. confval:: scheme.marker.lineWidth Type: *color* The line width of the marker \(e.g. picks of manual picker\). .. confval:: scheme.fonts.base Type: *font* The general base font of an application. This overrides the default Qt4 application font. .. confval:: scheme.fonts.small Type: *font* *No description available* .. confval:: scheme.fonts.normal Type: *font* *No description available* .. confval:: scheme.fonts.large Type: *font* *No description available* .. confval:: scheme.fonts.highlight Type: *font* *No description available* .. confval:: scheme.fonts.heading1 Type: *font* *No description available* .. confval:: scheme.fonts.heading2 Type: *font* *No description available* .. confval:: scheme.fonts.heading3 Type: *font* *No description available* .. confval:: scheme.fonts.cityLabels Type: *font* *No description available* .. confval:: scheme.map.stationSize Type: *int* The station symbol size \(e.g. in scmv\). Default is ``8``. .. confval:: scheme.map.originSymbolMinSize Type: *int* The origin symbol minimum size. The formula to compute the size of the origin symbol is: 4.9\*\(M\-1.2\). Default is ``9``. .. confval:: scheme.map.vectorLayerAntiAlias Type: *boolean* Should the vector layer in the map use antialiasing? This improves the visual quality but decreases performance. Default is ``false``. .. confval:: scheme.map.bilinearFilter Type: *boolean* Should the map use a bilinear filter? The bilinear filter improves the visual quality but decreases performance slightly. It is only used for static map images. Not while dragging. Default is ``true``. .. confval:: scheme.map.showGrid Type: *boolean* Should the map display the grid? Default is ``true``. .. confval:: scheme.map.showCities Type: *boolean* Should the map display the cities? Default is ``true``. .. confval:: scheme.map.cityPopulationWeight Type: *int* Controls at which zoom level a city will be visible. The following formula is used: screen_width \(km\) \* weight >\= population Default is ``150``. .. confval:: scheme.map.showLayers Type: *boolean* Should the map display the custom layers? Default is ``true``. .. confval:: scheme.map.projection Type: *string* SeisComP ships with the rectangular projection build in. Other projections may be provided through plug\-ins. Default is ``Rectangular``. .. confval:: scheme.precision.depth Type: *int* The precision of depth values. Default is ``0``. .. confval:: scheme.precision.distance Type: *int* The precision of distance values. Default is ``1``. .. confval:: scheme.precision.location Type: *int* The precision of lat\/lon values. Default is ``2``. .. confval:: scheme.precision.pickTime Type: *int* The precision of pick times. Default is ``1``. .. confval:: scheme.precision.traceValues Type: *int* Precision of displayed offset\/amp in all trace widgets. Default is ``1``. .. confval:: scheme.precision.rms Type: *int* Precision of RMS values. Default is ``1``. .. confval:: scheme.unit.distanceInKM Type: *boolean* Display distances in km? Default is ``false``. .. confval:: picker.filters Type: *list:string* Configures the default filters selectable in manual picker. The entry with a leading \"\@\" is selected as default filter. Default is ``"BP 0.1 - 1 Hz 3rd order;BW(3,0.1,1)","BP 0.1 - 2 Hz 3rd order;BW(3,0.1,2)","BP 0.4 - 1 Hz 3rd order;BW(3,0.4,1)","@BP 0.7 - 2 Hz 3rd order;BW(3,0.7,2)""BP 1 - 3 Hz 3rd order;BW(3,1.0,3)","BP 2 - 4 Hz 3rd order;BW(3,2.0,4)","BP 3 - 6 Hz 3rd order;BW(3,3.0,6)","BP 4 - 8 Hz 3rd order;BW(3,4.0,8)","BP 1 - 5 Hz 3rd order;BW(3,1.0,5)","BP 0.7 - 2 Hz + STA/LTA(1,50);RMHP(10)->ITAPER(30)->BW(3,0.7,2)->STALTA(1,50)"``. .. confval:: eventlist.visibleColumns Type: *list:string* Configure the columns of the event list that are visible initially. The first column containing the origin time is always visible and cannot be hidden. Possible values are: Type, M, TP, Phases, Lat, Lon, Depth, Stat, FM, Agency, Region, ID. Default is ``M, TP, Phases, Lat, Lon, Depth, Stat, Agency, Region, ID``. .. confval:: eventlist.regions Type: *list:string* Configured a list of regions that can be used as filter of the result set. .. note:: **eventlist.region.\$name.\*** *Defines a rectangular region that can be used as a result* *set filter on client side.* \$name is a placeholder for the name to be used and needs to be added to :confval:`eventlist.regions` to become active. .. code-block:: sh eventlist.regions = a,b eventlist.region.a.value1 = ... eventlist.region.b.value1 = ... # c is not active because it has not been added # to the list of eventlist.regions eventlist.region.c.value1 = ... .. confval:: eventlist.region.\$name.name Type: *string* Defines the name of the region that shows up in the listbox. .. confval:: eventlist.region.\$name.rect Type: *list:double* Defines a rectangular region with a list of 4 values: latmin, lonmin, latmax, lonmax. .. confval:: eventlist.filter.agencies.label Type: *string* Defines the text of the option \"Show only own events\". Default is ``Show only own events``. .. confval:: eventlist.filter.agencies.whitelist Type: *list:string* Sets a list of preferred agencies. Events from preferred agencies are defined as \"own\" events. .. confval:: eventlist.filter.agencies.type Type: *string* Sets the type of the filter. If type is \"events\" the agency of the preferred origin of the event is checked. If type is \"origins\" the agency of all origins of an event is checked and if at least one origins agency is part of the whitelist it will pass the filter. Or in other words, the event is hidden if no origin is from a preferred agency. Default is ``events``. .. confval:: eventlist.filter.agencies.enabled Type: *boolean* Sets the default state of the \"Show only own events\" option. Default is ``false``. .. confval:: eventlist.filter.types.label Type: *string* Defines the text of the option \"Hide other\/fake events\". Default is ``Hide other/fake events``. .. confval:: eventlist.filter.types.blacklist Type: *list:string* List of event type to be hidden if the \"Hide other\/fake events\" option is ticked. .. confval:: eventlist.filter.types.enabled Type: *boolean* Sets the default state of the \"Hide other\/fake events\" option. Default is ``false``. .. confval:: eventlist.filter.regions.enabled Type: *boolean* Sets the default state of the \"Hide events outside\" option. Default is ``false``. .. confval:: picker.filters Type: *list:string* Configures the default filters selectable in manual picker. The entry with a leading \"\@\" is selected as default filter. Default is ``"BP 0.1 - 1 Hz 3rd order;BW(3,0.1,1)","BP 0.1 - 2 Hz 3rd order;BW(3,0.1,2)","BP 0.4 - 1 Hz 3rd order;BW(3,0.4,1)","@BP 0.7 - 2 Hz 3rd order;BW(3,0.7,2)""BP 1 - 3 Hz 3rd order;BW(3,1.0,3)","BP 2 - 4 Hz 3rd order;BW(3,2.0,4)","BP 3 - 6 Hz 3rd order;BW(3,3.0,6)","BP 4 - 8 Hz 3rd order;BW(3,4.0,8)","BP 1 - 5 Hz 3rd order;BW(3,1.0,5)","BP 0.7 - 2 Hz + STA/LTA(1,50);RMHP(10)->ITAPER(30)->BW(3,0.7,2)->STALTA(1,50)"``. .. confval:: eventlist.visibleColumns Type: *list:string* Configure the columns of the event list that are visible initially. The first column containing the origin time is always visible and cannot be hidden. Possible values are: Type, M, TP, Phases, Lat, Lon, Depth, Stat, FM, Agency, Region, ID. Default is ``M, TP, Phases, Lat, Lon, Depth, Stat, Agency, Region, ID``. .. confval:: eventlist.regions Type: *list:string* Configured a list of regions that can be used as filter of the result set. .. note:: **eventlist.region.\$name.\*** *Defines a rectangular region that can be used as a result* *set filter on client side.* \$name is a placeholder for the name to be used and needs to be added to :confval:`eventlist.regions` to become active. .. code-block:: sh eventlist.regions = a,b eventlist.region.a.value1 = ... eventlist.region.b.value1 = ... # c is not active because it has not been added # to the list of eventlist.regions eventlist.region.c.value1 = ... .. confval:: eventlist.region.\$name.name Type: *string* Defines the name of the region that shows up in the listbox. .. confval:: eventlist.region.\$name.rect Type: *list:double* Defines a rectangular region with a list of 4 values: latmin, lonmin, latmax, lonmax. .. confval:: eventlist.filter.agencies.label Type: *string* Defines the text of the option \"Show only own events\". Default is ``Show only own events``. .. confval:: eventlist.filter.agencies.whitelist Type: *list:string* Sets a list of preferred agencies. Events from preferred agencies are defined as \"own\" events. .. confval:: eventlist.filter.agencies.type Type: *string* Sets the type of the filter. If type is \"events\" the agency of the preferred origin of the event is checked. If type is \"origins\" the agency of all origins of an event is checked and if at least one origins agency is part of the whitelist it will pass the filter. Or in other words, the event is hidden if no origin is from a preferred agency. Default is ``events``. .. confval:: eventlist.filter.agencies.enabled Type: *boolean* Sets the default state of the \"Show only own events\" option. Default is ``false``. .. confval:: eventlist.filter.types.label Type: *string* Defines the text of the option \"Hide other\/fake events\". Default is ``Hide other/fake events``. .. confval:: eventlist.filter.types.blacklist Type: *list:string* List of event type to be hidden if the \"Hide other\/fake events\" option is ticked. .. confval:: eventlist.filter.types.enabled Type: *boolean* Sets the default state of the \"Hide other\/fake events\" option. Default is ``false``. .. confval:: eventlist.filter.regions.enabled Type: *boolean* Sets the default state of the \"Hide events outside\" option. Default is ``false``.