Seite 1 von 2

Suche Ideen für komfortablen Aufbau einer Oberfläche

Verfasst: 02.04.2008 18:15
von NicTheQuick
Hallo Leute,

Ich habe mir momentan wieder ein mehr oder weniger großes Projekt
vorgenommen. Diesmal war ich auch so schlau und hab eine
Versionierung der einzelnen Includes angefangen und mehr Kommentare
in den Code geschrieben.

Das Projekt soll unter Linux und Windows gleichermaßen laufen, aber
keine eigenen Designs mitbringen, sondern die des Systems nutzen.
Lauffähig sollte es ab Win2000 und den aktuellen Linux-Distributionen sein.

Jetzt aber mal zum Projekt selbst.
Ich will eine Art Medienverwaltung schreiben, die zunächst mal
hauptsächlich auf die persönliche Bildersammlung losgelassen werden soll.
Dabei soll es folgende Punkte geben:
  • Tags:
    Tags sind Strings mit eindeutiger ID, die einem Bild zugewiesen werden
    können. Außerdem können Tags zu anderen Tags verweisen, womit ein
    Netzwerk entstehen kann.
  • Cluster:
    Cluster sind Ansammlungen von Tags und dienen zum einfachen Suchen
    zusammenhängender Bilder. Die einzelnen Tags können mit logischen
    Operatoren zum Cluster verknüpft werden: NOT, AND, OR, XOR.
    Cluster können ebenso wie Tags benutzt werden.
  • Tag-Wolke:
    Die Tag-Wolke zeigt anhand verschieden großer Schriftarten an, wie häufig
    Tags zu Medienobjekten verlinkt sind. Durch Auswahl eines bestimmten
    Tags oder eines Clusters, ändert sich die Wolke so ab, dass direkt
    vernetzte Tags größer dargestellt werden als Tags, die weiter entfernt sind,
    wobei die Größe weiterhin auch von der Anzahl Verlinkungen zu einem
    Medienobjekt abhängig bleibt.
    Durch eine Option kann man auch Cluster in der Wolke anzeigen lassen,
    wodurch nur Medienobjekte, die der Regel der Cluster entsprechen zählen.
  • Tag-Zuweisung:
    Wenn man gerade ein oder mehrere Bilder im Fenster sieht, soll es per
    Drag'n'Drop möglich sein Tags aus der Tag-Wolke in ein Bild zu ziehen,
    womit diesem der Tag zugewiesen wird. Möchte man ein Tag zuweisen, das
    es noch nicht gibt, muss man zuerst in der Tag-Wolke dieses neue Tag
    anlegen, indem man an eine freie Stelle klickt und ohne den Cursor aus
    der Wolke zu bewegen den Namen eintippt.
    Die zweite Möglichkeit ein Tag zuzuweisen ist die Gegenrichtung. Durch
    ziehen eines oder mehrerer Bilder auf ein Tag in der Wolke, wird das
    entsprechende Tag bei allen gleichzeitig gesetzt.
    Wenn ein zu taggendes Bild noch nicht in der Datenbank ist, wird es
    hinzugefügt und dann getaggt.
  • Ordner-Ansicht:
    In der Ordner-Ansicht werden alle Ordner der Festplatte angezeigt.
    Ordner, die Dateien enthalten, die nicht in der Datenbank sind, bekommen
    die Farbe rot. Dateien, die es auf der Festplatte nicht gibt, aber in der
    Datenbank existieren werden grün angezeigt. Alles andere, was
    synchronisiert ist, hat die Standardfarbe oder einfach schwarz. Symbole
    statt Farben wären natürlich auch nett.
    Durch eine Auswahl unter der Ordner-Ansicht kann man bestimmen, was
    bei einem Doppelklick auf einen Ordner passieren soll: 'In die Datenbank
    aufnehmen', 'enthaltene Dateien anzeigen', 'aus der Datenbank entfernen',
    'neu synchronisieren'
  • Datei-Ansicht:
    In der Datei-Ansicht werden einfach alle Dateien eines Ordners nach
    festgelegtem Kriterium sortiert als Miniaturansichten dargestellt. Will man
    hier Bilder taggen, werden sie automatisch der Datenbank hinzugefügt.
Tja, das war jetzt schon einiges an Informationen und mir fällt gerade
auch nicht mehr ein. Muss mir gleich mal 'nen Kaffee genehmigen. :wink:

Mein Problem ist nun, wie ich diese ganze Funktionalität komfortabel in ein
Fenster unterbringen kann. Mir geht es da hauptsächlich um die Anordnung
der einzelnen Teile und wie sie nicht anderen Dingen im Weg stehen. Wie
ich das ganze programmiertechnisch umsetze, bleibt mir überlassen.

Mir würde jede Art von Information helfen. Also entweder eine
anschauliche Beschreibung oder in Paint gekritzelte Skizzen.

Wenn ich dann irgendwann mal eine Alpha rausbringe, dürft ihr auch alle
fleißig testen. Je mehr Alphatester, desto größer wird schließlich die
ToDo&Don'tDoIt-Liste.


Dann bedanke ich mich jetzt schonmal ganz herzlich bei all denjenigen, die
mir bis hierhin folgen konnten und ihrer Kreativität in ihren baldigen Posts
freien Lauf lassen werden.

Verfasst: 02.04.2008 19:00
von milan1612
Ich hab mal schnell in Visualstudio was zusammengehackt, hier ist das Bild:
http://www.milandot.de/medienverwaltung.png

Menu-, Tool- und Statusbar sind natürlich nur Platzhalter, aber ungefähr so könnte
ich mir das Ganze vorstellen: Eine seperate "Medienarea" in die eine Liste kommt
in der die aktuelle Ansicht darstellst, dazu einen Suchbereich und deine Tagwolke.
Ich hab hier die Suchergebnisse mal in ein PanelGadget gesteckt, aber natürlich
könnte man die auch in der Medienliste auflisten.

Ich hoffe ich hab dich wenigstens ein bisschen inspiriert... :lol:

Verfasst: 02.04.2008 19:04
von NicTheQuick
Ja, das ist schon mal interessant.
Lieber wäre es mir allerdings, wenn man die Medienarea, die Ordner-Ansicht
und die Tag-Wolke gleichzeitig sehen könnte. Vielleicht eine automatisch
aufklappende Ordner-Ansicht, wenn man mit der Maus an den linken Rand
geht?

Verfasst: 02.04.2008 19:09
von milan1612
Ich glaube du solltest mal Visualstudio selbst installieren und einfach mit dem
Form Designer rumspielen. Außerdem kannst du dir von der IDE gleich ein bisschen
was abschauen, Visualstudio löst das Problem ähnlich deinem "aufklappenden" Ordner,
z.B. ist die Toolbox standardmäßig nur als kleiner Button an der Seite zu sehen
und klappt dann auf wenn man mit der Maus darüberfährt.

Verfasst: 03.04.2008 03:53
von NicTheQuick
Also ich glaube nicht, dass ich mir das VisualStudio installieren werde. Erstens bin ich zu faul dazu und zweitens will ich das meinem Rechner nicht
antun.

Aber für alle, die es interessiert, hier mal der Aufbau meine Mediendatenbank. Bei MEDIA_S fängt es an.

Code: Alles auswählen

;                                                                           count                desc    info
;                                                                             |                   |       |
;             ,------> MEDIA_D                              .-> exif --> MEDIA_EXIF --> d[i] --> MEDIA_EXIF_D   title  desc
;             |          |                                  |                                                     |     |
;             |      next/prev                              |-> description --> MEDIA_DESCRIPTION ----------------'-----'
;             |          |                                  |
;             |        MEDIA_D                   id         |-> resolution --> MEDIA_RESOLUTION -.-> h
;           first        .                        |         |                                    |
;             |          .       ,-> id      MEDIA_INFO_D --|-> tag --> MEDIA_TAG --> tag[i]     w
;             |          .       |                |         |                |
;count <-- MEDIA_S     MEDIA_D --|-> file        d[i]       |              count  size
;             |          .       |                |         |                      |
;             |          .       `-> info --> MEDIA_INFO    |-> thumb --> MEDIA_THUMB --> filemem
;           last         .                        |         |
;             |        MEDIA_D                    V         `-> user --> MEDIA_USER --> Callback
;             |          |                      count                     |      |
;             |      next/prev                                           size  data?
;             |          |
;             `------> MEDIA_D

Verfasst: 06.04.2008 19:51
von NicTheQuick
Es dauert ja noch ein bisschen, bis ich mit der Oberfläche anfange. Deswegen
würde ich mich immer noch freuen, wenn es auch noch andere Ideen für die
Oberfläche geben würde.
Das heißt nicht, dass der bisherige Vorschlag nicht gut wäre. :wink:

Verfasst: 27.05.2008 13:21
von GreyEnt
Hallo NickThe Quick,

Ich habe mir angewöhnt die Fenster per CAD zu "entwickeln".
Damit ist man sehr flexibel und man kann schnell mal was verschieben.
Wenn Du magst kann ich mal so eine Zeichnung reinstellen.

MfG
Dieter

Verfasst: 27.05.2008 18:36
von GreyEnt
hier mal ein Beispiel von einem Fensteraufbau mit CAD.

http://imagesjack.us/picture.php?p=f7535b9bc0.jpg

MfG
Dieter

Verfasst: 27.05.2008 19:30
von X0r
Ich hab mal schnell in Visualstudio was zusammengehackt, hier ist das Bild:
http://www.milandot.de/medienverwaltung.png
.NET bööööööse... :twisted:

Verfasst: 27.05.2008 21:10
von milan1612
X0r hat geschrieben:
Ich hab mal schnell in Visualstudio was zusammengehackt, hier ist das Bild:
http://www.milandot.de/medienverwaltung.png
.NET bööööööse... :twisted:
[OT]
Bin auch kein .Net Fan, aber für Oberflächenprototyping eignet sich der Designer
des Visualstudios sehr gut.
[/OT]