User Tools

Site Tools


de:doc:rfc_onion

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
de:doc:rfc_onion [2014/09/27 21:50]
wsauer
de:doc:rfc_onion [2014/09/28 09:14] (current)
wsauer
Line 20: Line 20:
 Weil der Wert dieses Pfads eine "​Zwiebel"​ sein kann, kann der Pfad aufgeteilt werden in einen nach links zeigenden Pfad, welcher eine (Sub)-"​Zwiebelstruktur"​ als Wert zurückgibt,​ wobei diese (Sub)-"​Zwiebelstruktur"​ dann den verbleibenden (rechten) Teil des Pfades enthält. Weil der Wert dieses Pfads eine "​Zwiebel"​ sein kann, kann der Pfad aufgeteilt werden in einen nach links zeigenden Pfad, welcher eine (Sub)-"​Zwiebelstruktur"​ als Wert zurückgibt,​ wobei diese (Sub)-"​Zwiebelstruktur"​ dann den verbleibenden (rechten) Teil des Pfades enthält.
  
-Das bedeutet wenn man z. Bsp. "​Dies/​ist"​ von dem Pfad "​Dies/​ist/​ein/​möglicher/​Pfad"​ wegnimmt gibt dies eine "​Zwiebelstruktur"​ zurück, welche selbst den Inhalt von "​ein/​Möglicher/​Pfad"​ enthält. Dies wird benutzt um sehr einfach Unterteile in eine "​zwiebelstruktur"​ einzubinden oder aus Ihr auszulagern.+Das bedeutet wenn man z. Bsp. "​Dies/​ist"​ von dem Pfad "​Dies/​ist/​ein/​möglicher/​Pfad"​ wegnimmtgibt dies eine "​Zwiebelstruktur"​ zurück, welche selbst den Inhalt von "​ein/​Möglicher/​Pfad"​ enthält. Dies wird benutztum sehr einfach Unterteile in eine "​zwiebelstruktur"​ einzubinden oder aus Ihr auszulagern.
  
  
 ===== Die Namenskonvention ===== ===== Die Namenskonvention =====
    
-Ein Teil eines solchen Pfades besteht aus den folgenden Zeichen [a-zA-Z0-9_-] und muss mit einem Buchstaben starten. Normale Teile werden in Kleinschreibweise geschrieben,​ Wurzelbereiche in Großschreibweise (siehe unten) geschrieben. Sammlungen die intern als Schlüssel/​Wert eines Hasharrays dargestellt werden, sind indiziert mit einem führenden "​_",​ gefolgt von einem kontinuierlich erhöhten Integerwert welcher mit 0 startet. Die Anzahl der eingebundenen Elemente ist ein Integerwert,​ indiziert mit "​_nr"​+Ein Teil eines solchen Pfadesbesteht aus den folgenden Zeichen [a-zA-Z0-9_-] und muss mit einem Buchstaben starten. Normale Teile werden in Kleinschreibweise geschrieben,​ Wurzelbereiche in Großschreibweise (siehe unten) geschrieben. Sammlungen die intern als Schlüssel/​Wert eines Hasharrays dargestellt werden, sind indiziert mit einem führenden "​_",​ gefolgt von einem kontinuierlich erhöhten Integerwert welcher mit 0 startet. Die Anzahl der eingebundenen Elemente ist ein Integerwert,​ indiziert mit "​_nr"​
  
 ===== Die Wurzelnamen ===== ===== Die Wurzelnamen =====
  
 Wie es ihre Absicht ist, vermögen "​Zwiebeln"​ eine breite Palette von möglichen Datensätzen darzustellen. Wie es ihre Absicht ist, vermögen "​Zwiebeln"​ eine breite Palette von möglichen Datensätzen darzustellen.
-Diese Datensätze ​sind ziemlich gleich zu dem was in C einen Struktur ​ist oder ein Datensatz in Pascal: Eine Struktur von verschiedenen statischen Daten, welche auch andere Sub-Strukturen enthalten können.+Diese Datensätze ​ähneln ​dem was in C einen Struktur oder ein Datensatz in Pascal ​ist: Eine Struktur von verschiedenen statischen Daten, welche auch andere Sub-Strukturen enthalten können.
  
  
 Um nun die Handhabung einfacher zu machen, muss folgende Konvention beachtet werden: Um nun die Handhabung einfacher zu machen, muss folgende Konvention beachtet werden:
  
-Der Name dieser Struktur wird as Wurzelteil des Pfades benutzt, in Großbuchstaben geschrieben. Als ein Beispiel wie wir die Datenstruktur nutzen betrachten wir zunächst die Implementation in C:+Der Name dieser Struktur wird als Wurzelteil des Pfades benutzt, in Großbuchstaben geschrieben. Als ein Beispielwie wir die Datenstruktur nutzenbetrachten wir zunächst die Implementation in C:
  
   struct date{   struct date{
Line 44: Line 44:
   }   }
  
-Würde ​in der "​Zwiebel"​ Syntax folgendermassen geschrieben werden+Dies würde ​in der "​Zwiebel"​ Syntax folgendermassen geschrieben werden
  
   DATE/year = 2010   DATE/year = 2010
Line 54: Line 54:
    
  
-Um eine nahtlose Zusammenarbeit zwischen all den verschiedenen internen Programmmodulen zu garantieren, ​müssen folgende ​Datenstrukturdefinitionen gefolgt werden:+Um eine nahtlose Zusammenarbeitzwischen all den verschiedenen internen Programmmodulen zu garantieren, ​muß folgenden ​Datenstrukturdefinitionen gefolgt werden:
  
 ==== ID ==== ==== ID ====
    
-Die ID Struktur umfasst alle Daten um ein Modul in einem System zu identifizieren.+Die ID Struktur umfasst alle Datenum ein Modul in einem System zu identifizieren.
  
 Details die definiert werden müssen Details die definiert werden müssen
Line 67: Line 67:
 ==== CONFIG ==== ==== CONFIG ====
    
-Die CONFIG Struktur wird benutzt den Kern in die Lage zu versetzen den Nutzer etwas konfigurieren zu lassen+Die CONFIG Struktur wird benutzt, um den Kern in die Lage zu versetzenden Nutzer etwas konfigurieren zu lassen
  
 ^  Name  ^  Typ  ^  opt.  ^ Bedeutung ​ ^ ^  Name  ^  Typ  ^  opt.  ^ Bedeutung ​ ^
Line 75: Line 75:
 ====  PARAMSET ==== ====  PARAMSET ====
    
-Die PARAMSET Struktur wird benutzt, um dem Modul mitzuteilen,​ ein Set von gegebenen Parametern zu nutzen. Dies kann zum einen das Ergebnis einer CONFIG Anfrage oder einer Startkonfiguration sein, welche durch den Kern aus den Einstellungen gelesen wird und zu den Modulen während der Hochlaufphase gesendet wird.+Die PARAMSET Struktur wird benutzt, um dem Modul mitzuteilen,​ ein Set von gegebenen Parametern zu nutzen. Dies kann zum einen, daß Ergebnis einer CONFIG Anfrage oder einer Startkonfiguration sein, welche durch den Kern aus den Einstellungen gelesen wird und zu den Modulen während der Hochlaufphase gesendet wird.
  
 ^  Name ^ Typ ^ opt. ^ Bedeutung ^ ^  Name ^ Typ ^ opt. ^ Bedeutung ^
Line 83: Line 83:
 ==== PARAM ==== ==== PARAM ====
    
-Die PARAM Struktur wird benutzt um Konfigurationsdaten zu transferieren. Die optionellen Daten helfen die Nutzerschnittstelle für das Konfigurationsfenster zu definieren. ​Es wird nicht gebraucht, wenn einige Konfigurationsdaten zu einem Modul gesendet werden.+Die PARAM Struktur wird benutztum Konfigurationsdaten zu transferieren. Die optionellen Daten helfen die Nutzerschnittstelle für das Konfigurationsfenster zu definieren. ​Sie wird nicht gebraucht, wenn einige Konfigurationsdaten zu einem Modul gesendet werden.
  
 ^  Name  ^  Typ  ^  opt.  ^ Bedeutung ​ ^ ^  Name  ^  Typ  ^  opt.  ^ Bedeutung ​ ^
 |  name  |  Zeichenkette ​ |   ​| ​ Name dieses Parameters ​ | |  name  |  Zeichenkette ​ |   ​| ​ Name dieses Parameters ​ |
-|  typ  |  Zeichenkette ​ |  x  | f=Fließkommazahl,​ i = Integer , s = Zeichenkette , sf = Dateiname , c = combobox ​, radiobutton = Wie eine combobox, aber mit einer anderen Präsentation,​ cm = combobox ​mit Mehrfachauswahl,​ b = Boolscher Wert (checkbox), a = Alarm |+|  typ  |  Zeichenkette ​ |  x  | f=Fließkommazahl,​ i = Integer , s = Zeichenkette , sf = Dateiname , c = Combobox ​, radiobutton = Wie eine Combobox, aber mit einer anderen Präsentation,​ cm = Combobox ​mit Mehrfachauswahl,​ b = Boolscher Wert (checkbox), a = Alarm |
 |  actValue ​ |  base type  |  | Repräsentation des aktuellen Werte(s), unterteilt durch ; im Fall eines Mehrfachauswahlelements ​ | |  actValue ​ |  base type  |  | Repräsentation des aktuellen Werte(s), unterteilt durch ; im Fall eines Mehrfachauswahlelements ​ |
-|  loRange ​ |  base Type  |  x  | niedrigster Wert eines erlaubten Bereiches. Für comboboxen, enthält dieses Feld die mögliche Auswahl, getrennt durch %%|%%. Für Zeichenketten kann dieses einen RegEx enthalten, welcher das erlaubte Ergebis beschreibt. Für Alarme, kann dies die Texte der Antwortknöpfe enthalten, getrennt durch %%|%%. |+|  loRange ​ |  base Type  |  x  | niedrigster Wert eines erlaubten Bereiches. Für Comboboxen, enthält dieses Feld die mögliche Auswahl, getrennt durch %%|%%. Für Zeichenketten kann dieses einen RegEx enthalten, welcher das erlaubte Ergebis beschreibt. Für Alarme, kann dies die Texte der Antwortknöpfe enthalten, getrennt durch %%|%%. |
 |  upRange ​ |  Basistyp ​ |  x  | höchster Wert eines erlaubten Bereiches ​ | |  upRange ​ |  Basistyp ​ |  x  | höchster Wert eines erlaubten Bereiches ​ |
 |  tooltip ​ |  Zeichenkette ​ |  x  | zusätzlicher Text welcher dem Nutzer einen Hinweis oder Hilfe für diesen Parameter gibt  | |  tooltip ​ |  Zeichenkette ​ |  x  | zusätzlicher Text welcher dem Nutzer einen Hinweis oder Hilfe für diesen Parameter gibt  |
-|  fileexist ​ |  Boolscher Wert |  x  | Im Fall das typ=fn für FileSelectDialogs:​ Die Datei muss schon existieren um diese Datei öffnen zu können ​ |+|  fileexist ​ |  Boolscher Wert |  x  | Im Fall das typ=fn für FileSelectDialogs:​ Die Datei muss schon existierenum sie öffnen zu können ​ |
  
 ==== VALUE ==== ==== VALUE ====
Line 101: Line 101:
 |  Sender ​ |  ID  |   | Sender dieses Wertes ​ | |  Sender ​ |  ID  |   | Sender dieses Wertes ​ |
 |  to  |  ID  |   | Empfänger dieses Wertes ​ | |  to  |  ID  |   | Empfänger dieses Wertes ​ |
-|  typ  |  Zeichenkette ​ |   | f=Fließkommazahl,​ i = Integer , s = Zeichenkette , c = Combobox , Radiobutton = wie eine combobox, aber mit einer anderen Präsentation,​ cm = Combobox mit einer Mehrfachauswahl,​ b = Boolscher Wert (checkbox)  |+|  typ  |  Zeichenkette ​ |   | f=Fließkommazahl,​ i = Integer , s = Zeichenkette , c = Combobox , Radiobutton = wie eine Combobox, aber mit einer anderen Präsentation,​ cm = Combobox mit einer Mehrfachauswahl,​ b = Boolscher Wert (Checkbox)  |
 |  rawValue ​ |  Basistyp ​ |   | Repräsentation der(s) aktuellen Werte(s), unterteilt durch ; Im Fall eines Mehrfachauswahlelements ​ | |  rawValue ​ |  Basistyp ​ |   | Repräsentation der(s) aktuellen Werte(s), unterteilt durch ; Im Fall eines Mehrfachauswahlelements ​ |
 |  Unit  |  Zeichenkette ​ |    | Einheit des Wertes ​ | |  Unit  |  Zeichenkette ​ |    | Einheit des Wertes ​ |
 |   ​ValueString ​ |  Zeichenkette ​ |  | Zeichenkettendarstellung des Wertes ​ + Einheit ​ | |   ​ValueString ​ |  Zeichenkette ​ |  | Zeichenkettendarstellung des Wertes ​ + Einheit ​ |
-|  loRange ​ |  ​base Type  ​| ​ x  | lowest value of the allowed rangeFor comboboxesthis field contains the possible selectionsseperated by %%|%%. ​For strings this field might include a RegEx, ​which describes the allowed result ​ | +|  loRange ​ |  ​Basistyp ​ ​| ​ x  | Niedrigster Wert eines erlaubten BereichesFür Comboboxenenthält dieses Feld die Auswahlmöglichkeitengetrennt mit %%|%%. ​Für Zeichenketten kann dieses einen RegEx enthaltenwelcher das erlaubte Ergebis beschreibt ​ | 
-|   ​upRange ​ |  ​base type  ​| ​ x  | highest value of the allowed range  | +|   ​upRange ​ |  ​Basistyp ​ ​| ​ x  | Höchster Wert eines erlaubten Bereiches ​ | 
-|  step  |  ​base type  ​| ​ x  | step rate in which the value can be changed ​(e.gfor slider boxes) |+|  step  |  ​Basistyp ​ ​| ​ x  | Schrittweite ​in der der Wert geändert werden kann (z.Bspfür Boxen mit Schieber) |
  
 ==== PAGE ==== ==== PAGE ====
    
-The PAGE struct is used to request the UI to create a "landing surface" ​to place some visualizers onto+Die PAGE Struktur wird benutzt, um vom UI (Userinterface) eine "Landefläche" ​zu erzeugen, auf der dann die Visualisierer plaziert werden
  
-^  Name  ^  ​Type  ​^ ​ opt.  ^ Meaning ​ ^ +^  Name  ^  ​Typ  ​^ ​ opt.  ^ Bedeutung ​ ^ 
-|  ​owner  ​| ​ ID  |   | Id of the sending Module ​+|  ​Eigentümer ​ ​| ​ ID  |   | Id des sendenden Moduls ​
-|  name  |  ​String ​ | | title of the requested page |+|  name  |  ​Zeichenkette ​ | | Titel der angeforderten Seite (Landefäche) ​|
  
 ==== PAGEDONE ==== ==== PAGEDONE ====
    
-The PAGEDONE ​struct is used to tell the UI that the placement of the visualizers is done+Die PAGEDONE ​Struktur wird benutzt, um dem UI mitzuteilen,​ daß das Plazieren der Visualisierer abgeschlossen ist
  
-^  Name  ^  ​Type  ​^ ​ opt.  ^ Meaning ​ ^ +^  Name  ^  ​Typ  ​^ ​ opt.  ^ Bedeutung ​ ^ 
-|  ​owner  ​| ​ ID  |  | Id of the sending Module ​|+|  ​Eigentümer ​ ​| ​ ID  |  | Id des sendenden Moduls ​|
  
 ==== UPDATE ==== ==== UPDATE ====
    
-The UPDATE ​struct tells the owner of a visualizer that the user has requested an update by e.gpressing a button or do a double click on an value +Die UPDATE ​Struktur teilt dem Eigentümer eines Visualisierers mit, daß der Nutzer eine Aktualisierung angefragt hat, zBspmit dem Drücken eines Knopfes oder dem Doppelklick auf einen Wert 
  
-^  Name  ^  ​Type  ​^ ​ opt.  ^ Meaning ​ ^ +^  Name  ^  ​Typ  ​^ ​ opt.  ^ Bedeutung ​ ^ 
-|  vis  |  ID  |  | Id of the sending visualizer ​+|  vis  |  ID  |  | Id des sendenden Visualisierers ​
-|  to  |  ID  |   ​| ​name of the owner of the visualizer ​+|  to  |  ID  |   ​| ​Name vom Eigentümer des Visualisierers ​
-|  actValue ​ |  ​String ​ | | actual shown value+|  actValue ​ |  ​Zeichenkette ​ | | aktuell angezeigter Wert
-|  updType ​ |  int  |  | type of the update ​(like request came from user or it is a periodic update)| +|  updType ​ |  int  |  | Aktualisierungstyp ​(wie eine Anforderung die vom Nutzer kam oder eine periodische Aktualisierung)| 
-|  optid  |  ​String ​ ​| ​ X  | optional ​ID as add. identificationif needed ​|+|  optid  |  ​Zeichenkette ​ ​| ​ X  | optionale ​ID als zusätzliche Identifikationfalls benötigt ​|
  
 ==== UPDEVENT ==== ==== UPDEVENT ====
    
-The UPDEVENT ​tells the visualizer which events are allowed to send an update requestIf not setthe visualizer sends only an update request on manual user request. UPDEVENT ​is a set of eventswhich are seperated by |+Die UPDEVENT ​Struktur teilt dem Visualisierer mit, welchen Ereignissen es erlaubt ist, eine Aktualisierung auszulösenFalls es nicht gesetzt ist, erfährt der Visualisierer nur eine Aktualisierungwenn dies durch den Nutzer manuell initiert wurde. UPDEVENT ​ist ein Set von Ereignissenwelche unterteilt sind durch |
  
-^  ​Event  ​^  ​Meaning ​ ^ +^  ​Ereignis ​ ​^  ​Bedeutung ​ ^ 
-|  UPDATE ​ | the update request is send when the user request a global list update+|  UPDATE ​ | Die Aktualisierungsanfrage wird ausgelöst, wenn der Nutzer eine globale Listenaktualisierung anfragt
-|  TIMER   ​| ​the update request is send in an interval if the global timer is active ​|+|  TIMER   ​| ​Die Aktualisierungsanfrage wird in einem Intervall ausgelöst, in dem der globale Zeitgeber aktiv ist |
  
 ==== VISUALIZE ==== ==== VISUALIZE ====
    
-The VISUALIZE ​struct is used to request the UI to create a visualizerIt then up to the implementation of this visualizer to add that visualization to an already existing visualizer ​(in a listview for exampleor to create a new object ​(as for a button)+Die VISUALIZE ​Struktur wird benutzt, um vom UI das Erzeugen eines Visualisierers zu initiierenEs ist dann von der Imlementierung abhängig, einen bereits existierenden Visualisierer ​(Listenansichthinzuzufügen oder ein neues Objektz.Bsp ein Knopfzu erzeugen
  
-^  Name  ^  ​Type  ​^ ​ opt.  ^ Meaning ​ ^ +^  Name  ^  ​Typ  ​^ ​ opt.  ^ Bedeutung ​ ^ 
-|  ​owner  ​| ​ ID  | | Id of the sending Module ​+|  ​Eigentümer ​ ​| ​ ID  | | Id des sendenden Moduls ​
-|  name  |  ​String ​ | | name of the requested visualizer ​+|  name  |  ​Zeichenkette ​ | | Name des angeforderten Visualisierers ​
-|  type  |  ​String ​ | | type of the requested visualizer ​+|  type  |  ​Zeichenkette ​ | | Typ des angeforderten Visualisierers ​
-|  theme |  ​String ​ ​| ​  ​x ​  ​| ​name of the theme to be usedif different from default theme +|  theme |  ​Zeichenkette ​ ​| ​  ​x ​  ​| ​Name des Motivs welches benutzt werden sollfalls es nicht mit dem Standartmotiv übereinstimmt ​
-|  canvas ​ |  ​String ​ ​| ​  ​| ​name of the canvas, on which that visualizer should appear ​+|  canvas ​ |  ​Zeichenkette ​ ​| ​  ​| ​Name der Flächen auf denen der Visualisierer erscheinen sollte ​
-|  value  |  VALUE  | | initial value +|  value  |  VALUE  | | Startwert ​
-|  tooltip ​ |  ​String ​ | | some additional text which might gives some information about this value +|  tooltip ​ |  ​Zeichenkette ​ | | zusätzlicher Text, der eine Information über diesen Wert transportiert ​
-|  updevent ​ |  UPDEVENT ​ |   ​x ​  ​| ​allowed update events of this visualizer ​ | +|  updevent ​ |  UPDEVENT ​ |   ​x ​  ​| ​erlaubte Aktualisierungsereignisse für den Visualisierer ​ | 
-|  optid  |  ​String ​ ​| ​  ​x ​  ​| ​optional ​ID as add. identificationif needed ​|+|  optid  |  ​Zeichenkette ​ ​| ​  ​x ​  ​| ​optionale ​ID als zusätzliche Identifikationfalls benötigt ​|
  
de/doc/rfc_onion.txt · Last modified: 2014/09/28 09:14 by wsauer