.. _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``. .. 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\). .. 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.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.distanceInKM Type: *boolean* Display distances in km? Default is ``false``. .. 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``.