AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Plugin Einstellungen

Ein Thema von rochus · begonnen am 24. Apr 2006 · letzter Beitrag vom 24. Apr 2006
Antwort Antwort
rochus

Registriert seit: 23. Dez 2004
Ort: Dornstadt
30 Beiträge
 
Delphi 7 Enterprise
 
#1

Plugin Einstellungen

  Alt 24. Apr 2006, 19:10
Hallo,
Ich bin mir nicht ganz sicher, ob das hier die richtige Sparte ist, ich denke aber, hier passt es noch am ehesten.

Ich bin gerade am Entwickeln eines Pluginsystems und versuche es möglichst Sprachneutral auf Interfaceebene aufzubauen. Das ganze ist der OTA nachgebaut und auch Einstellungen können so abgefragt/gesetzt werden, z.B. Settings.GetBoolSetting('core.CodeIndention'); . Jedes Plugin hat natürlich eigene Einstellungen und sollte dementsprechend einen "Dialog" dafür zur Verfügung stellen. Ich hab mich mal ein wenig umgesehen und hier das Tutorial von sakura durchgesehen. Seine "Lösung" für das "Problem" ist: Jedes Plugin, das Einstellungsmöglichkeiten bietet (z.B. das Plugin für die Shortcuts), zeigt einen eigenen Dialog an. Mir missfällt diese Lösung, denn wenn ich entsprechend viele Plugins habe, habe ich auch zigtausend Menüpunkte nach der Art "Einstellungen für MyUltraCoolAndAbsolutelyRequiredPlugin". Mir schwebt eher eine Konfiguration nach Art des Instant-Messengers Miranda zu: Links hat es eine TreeView, die nach Themen sortiert ist (und in diese sich ein Plugin "einklinken" kann) und je nachdem auf welche Node ich klicke, krieg den entsprechenden Einstellungsbereich.

Meine Frage ist jetzt, wie ich das mache. Die Möglichkeit, Frames aus DLLs zu exportieren besteht zwar, ist aber im Hinblick auf die Sprachneutralität blöd, genausowenig wie etwas der Art TForm zu exportieren... Ich hab mir jetzt schon irgendwas überlegt mit einer XML Struktur nach Art der XUL.

Welche Möglichkeiten gibt es denn hierfür? Der Einsatz kommerzieller oder fremder Pluginsystem ist nicht möglich, ich muss mein eigenes nutzen.

Gruß
Nicolai Waniek
Im Nachhinein ist man immer ein Schlauch!
"Dream as if you'll live forever, live as if you'll die today!" James Dean
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Plugin Einstellungen

  Alt 24. Apr 2006, 22:04
Hi!

Die Idee "XML" ist schon mal nicht schlecht.
Die Yahoo Widget Engine bzw. der Konfabulator nutzen eine XML-Struktur um ihre Daten zu speichern. Hier ein Ausschnitt aus dem Widget "Yahoo Weather":
XML-Code:
<prefGroup>
      <name>fontPanel</name>
      <title>Fonts</title>
      <icon>Resources/UI/Fonts.png</icon>
      <order>3</order>
    </prefGroup>

    <prefGroup>
      <name>colorPanel</name>
      <title>Colors</title>
      <icon>Resources/UI/Colors.png</icon>
      <order>2</order>
    </prefGroup>

   <preference name="backgroundType">
      <title>Use Background:</title>
      <group>colorPanel</group>
      <type>popup</type>
      <defaultValue>Dark Glass</defaultValue>
      <option>Colorized</option>
      <option>Dark Glass</option>
      <option>(-</option>
      <option>None</option>
      <description>This lets you choose how the background of your weather looks. If you choose Colorized, please visit the Colors panel to adjust the color to your preference.</description>
   </preference>

   <preference name="dayColor">
      <title>Day Background:</title>
      <group>colorPanel</group>
      <type>Color</type>
      <defaultValue>#6592b1</defaultValue>
      <description>During the day this is the color that the Widget's background will display in.</description>
   </preference>

   <preference name="userDayFontShadow">
      <title>Adornment Is:</title>
      <group>fontPanel</group>
      <type>popup</type>
      <option>Normal Shadow Below Text</option>
      <option>Black Bevel Above Text</option>
      <option>White Bevel Below Text</option>
      <option>(-</option>
      <option>None</option>
      <defaultValue>Normal Shadow Below Text</defaultValue>
      <description>Choose how or if you want an extra adornment to give your text during the day more character.</description>
   </preference>

   <preference name="userDisplayPref">
      <title>Location:</title>
      <type>text</type>
      <defaultValue>Palo Alto, California</defaultValue>
      <description>You can enter a US zip code, your City, State, or City, Country.</description>
      <hidden>true</hidden>
   </preference>

   <preference name="displayNameStatePref">
      <title>Use Display Name</title>
      <type>checkbox</type>
      <defaultValue>0</defaultValue>
      <description>Check this box if you would like to use the name below as an alternative to the city name.</description>
   </preference>

   <preference name="displayNamePref">
      <title>Display Name:</title>
      <type>text</type>
      <defaultValue></defaultValue>
      <description>If you would like to use a name other than what the Widget fetches, enter it here.</description>
   </preference>

   <preference name="unitsPref">
      <title>Use Metric Units</title>
      <type>checkbox</type>
      <defaultValue>0</defaultValue>
      <description>Check this box if you would like your weather displayed in degrees Celsius rather than degrees Fahrenheit.</description>
   </preference>

   <preference name="showToolTips">
      <title>Show Tooltips</title>
      <type>checkbox</type>
      <defaultValue>1</defaultValue>
      <description>Check this box if you would like additional information when hovering over the weather icons.</description>
   </preference>

   <preference name="cityValuePref">
      <hidden>true</hidden>
      <type>text</type>
      <defaultValue></defaultValue>
   </preference>
Diese Struktur lässt nur eine einfache Struktuierung zu; d.h. das eine Gruppe, keine weiteren Gruppen enthalten kann. Das kannst du und würde ich ändern. Jede Gruppe die ein Plugin anlegt, könntest du in deinem TreeView als Node verewigen.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz