Graphische Oberfläche

Proggen.org - Lernprojekt: Duplikatefinder
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8486
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Graphische Oberfläche

Beitrag von Xin » Di Jun 08, 2010 10:12 am

In diesem Thread möchte ich mir mit euch Gedanken machen, was die graphische Oberfläche benötigt.

Vor allem anderen, benötigen wir ein Interface, denn ich habe ehrlich gesagt keine Skrupel, die Qt und wxWidgets Diskussion dadurch zu lösen, dass beide Oberflächen zum Zuge kommen könnten. In jedem Fall bin ich an einer NCurses-Oberfläche interessiert, denn Software läuft nicht zwangsweise auf einer graphischen Oberfläche. Auf einem Server kann das auch ganz schnell mal nur eine Textkonsole sein.

Wer also Ideen zeigen möchte, möge bitte Gimp, Photoshop, Paint, was auch immer bemühen bemühen und Skizzen machen. Wer einen Prototypen programmiert geht bitte davon aus, dass dieser nicht weiter verwendet wird!


Hauptfenster: Hier möchte ich vorrangig eine Liste mit Dateien/Verzeichnissen sehen, die auf den Index gebracht werden können. Schiebt man eine Datei/Verzeichnis ins Fenster soll die Datei in die Liste eingefügt werden. Darunter ein "+" Button, der einen Dateiauswahl-Dialog öffnet, daneben ein "-" Button, der eine Datei/Verzeichnis entfernt.
In der Liste möchte ich sehen, ob bzw. wann die Verzeichnisse bereits indiziert wurden.
Darunter möchte ich einen Button "Indizieren", der die Verzeichnisse durchläuft und die Dateien indiziert. Daneben einen Button "Duplikate managen", der das Ergebnisfenster öffnet, sowie einen Button "Mülleimer"

Ergebnisfenster:
Hier möchte ich eine Liste, die zweizeilige Einträge besitzt: Untereinander die Pfade der beiden Dateien und warum die Dateien identisch sind (eben weil sie identisch sind oder weil sie als Photos gleichwertig sind (z.B. gedrehtes Bild) oder weil sie vergleichbar sind (z.B. skaliertes Bild)). Doppelklick und die Dateien werden zur Ansicht geöffnet und bei gleichwertigen oder vergleichbaren Bildern eine Vorschau beider gezeigt. Nun klickt man in der Vorschau, bzw. in der Liste die Datei an, die gelöscht werden soll und schiebt sie idealerweise in einen Mülleimer.

Mülleimer-Fenster:
Hier möchte ich den gleichen Dialog wie im Ergebnisfenster mit leichten Abwandlungen. Hier werden die Dateien angezeigt, die zum Löschen freigegeben sind. Sie können nun nochmals verglichen werden, einzeln gelöscht oder aus dem Mülleimer entfernt werden. Wo im Ergebnisfenster der Mülleimer war, der sich füllte, ist nun ein Mülleimer, der sich leert. Drückt man hierauf, werden alle Dateien gelöscht.


Soweit meine grobe Richtung. Die Diskussion ist eröffnet.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8486
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von Xin » Fr Jun 11, 2010 10:22 am

stampuhh, wie sieht's aus?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2446
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Graphische Oberfläche

Beitrag von nufan » Fr Jun 11, 2010 2:14 pm

Ich hab mal schnell ein Hauptfenster zusammengebastelt:
Bild
Das Fenster hat keine Funktion, außer mit '+' kann man leere Zeilen hinzufügen. Zeilen sind als ganzes selektierbar, für Notizen müsste noch ein Event-Handler überschrieben werden. In der Statusleiste befindet sich jetzt nur mal ein Label mit Text, da kann aber praktisch alles eingefügt werden (z.B. ein Fortschrittsbalken). Kleine Probleme gibts noch beim Ändern der Größe des Fensters. Entweder die Spalten benutzen immer den gesamten verfügbaren Platz und sind für den Benutzer unveränderlich oder sie sind für den Benutzer veränderlich und passen ihre Größe nicht automatisch an. Eine Mischung daraus wäre optimal. Das würde ich schon irgendwie hinkriegen, wollte da jetzt aber nicht zu viel Arbeit reinstecken, da es ja nur ein Prototyp ist.
Ich würde weiters vorschlagen die andern beiden Fenster als Tabs in das Hauptfenster einzufügen. Dann hat man alles übersichtlich in einem Fenster und kann schnell zwischen den Bereichen wechseln.

Benutzeravatar
stampuhh
Beiträge: 211
Registriert: Sa Nov 07, 2009 4:39 pm
Wohnort: Paderborn

Re: Graphische Oberfläche

Beitrag von stampuhh » Fr Jun 11, 2010 2:24 pm

Ja also ich habe mir erst einmal jetzt deine ja schon recht konkreten Vorstellungen durchgelesen und einmal umgesetzt (grafisch). Alles natürlich noch sehr grob, denke aber ich habe deine Vorstellungen in etwa abgebildet.

Das Hauptfenster gefällt mir so schon ganz gut. Ich habe jetzt einfach mal eine Liste (Tabelle) genommen, die dann die entsprechenden Ordner enthalten soll. In wie weit das jetzt praktisch ist weiß ich nicht aber ich fand so etwas bietet sich mehr oder weniger an.
hauptseite.png
Dann zu der Ergebnissseite:
ergebnisse.png
Da habe ich mir mehr oder weniger ein eigenes Panel zusammengebastelt, welches die Informationen enthält die wichtig sind. Neben dem Dateipfad wäre sicherlich noch die Dateigröße interessant, Datum oder ähnliche Infos.
Da stellt sich mir auch schon direkt die Frage ob man das überhaupt so macht oder ob es schon fertige Klassen gibt oder wie auch immer...wie gesagt habe ich bisher wenig Erfahrung mit dem Thema und will ja was dazu lernen ;)

Naja und der Mülleimer ist mehr oder weniger die Ergebnissseite wobei jedes Element noch einmal einen Butten enthält um es wieder aus dem Mülleimer zu entfernen oder sich umzuentscheiden bevor man dann entgültig alle Dateien entfernt die markiert sind.
Mülleimer.png
Soweit zu deiner groben Richtung ;)
Dummerweise gefällt mir die aber ganz gut, bzw etwas anderes fällt mir auch nicht wirklich ein. :roll:

Mal ganz davon abgesehen, dass ich im Moment noch kein Plan habe wo ich da anfangen sollte etc^^

edit: Danis gerade gesehen...sieht ja in etwa gleich aus (bis auf den Inhalt und das LAF). Ach ja und ich hab natürlich wxWidgets genommen bzw den Formbuilder für wx.

gruß stampuhh
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
NachDenkSeiten.de

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8486
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von Xin » Di Jun 15, 2010 10:07 am

stampuhh hat geschrieben:Mal ganz davon abgesehen, dass ich im Moment noch kein Plan habe wo ich da anfangen sollte etc^^
Am Hauptfenster.

Identifiziere die Schaltfläschen und die Ereignisse, die Du dem Hauptprogramm mitteilen möchtest (z.B. User hat neues Verzeichnis zur Indizierung gemeldet oder User hat Button "Indiziere") und erstelle ein Interface dazu.

Bei Fragen: Hier fragen ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
stampuhh
Beiträge: 211
Registriert: Sa Nov 07, 2009 4:39 pm
Wohnort: Paderborn

Re: Graphische Oberfläche

Beitrag von stampuhh » Do Jun 17, 2010 6:49 am

Identifiziere die Schaltfläschen und die Ereignisse, die Du dem Hauptprogramm mitteilen möchtest (z.B. User hat neues Verzeichnis zur Indizierung gemeldet oder User hat Button "Indiziere") und erstelle ein Interface dazu.
In Code oder "auf dem Papier"?? ;)

Wenn ich Code schreiben soll, dann fehlt mir im Moment noch das Wissen wie ich das Ganze so in nen Projekt bekomme, dass auch alle anderen damit was anfangen könnten...

gruß stampuhh
NachDenkSeiten.de

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8486
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von Xin » Do Jun 17, 2010 11:23 am

stampuhh hat geschrieben:
Identifiziere die Schaltfläschen und die Ereignisse, die Du dem Hauptprogramm mitteilen möchtest (z.B. User hat neues Verzeichnis zur Indizierung gemeldet oder User hat Button "Indiziere") und erstelle ein Interface dazu.
In Code oder "auf dem Papier"?? ;)
Wie Du kannst. Wobei Papier entspricht Wiki. Wenn wir darüber überein kommen, dass die Planung soweit okay ist, müssen wir danach sehen, wie wir Dich dazu bringen, das in Code zu gießen. :-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
stampuhh
Beiträge: 211
Registriert: Sa Nov 07, 2009 4:39 pm
Wohnort: Paderborn

Re: Graphische Oberfläche

Beitrag von stampuhh » Do Jun 17, 2010 6:07 pm

ok ich werde mir mal etwas überlegen ;)
Sowohl inhaltlich als auch grafisch...und dann versuchen das ins Wiki zu bekommen :roll:
wie wir Dich dazu bringen, das in Code zu gießen
Naja..das in Code zu bekommen ist mehr oder weniger nicht das Problem (natürlich auch aber davor gibt es andere Probleme zu lösen). Bin mir über Projektstruktur im SVN, Einbindung der Bibliotheken etc nicht wirklich im Klaren, sprich: selbst wenn ich etwas zustande bekomme wäre es vermutlich erst mal nutzlos für euch oder mit viel Aufwand verbunden :D

Aber da können wir ja ein Minibeispiel irgendwie einbinden zusammen und dann wird das schon...erst mal die "Papierarbeit" :)

gruß stampuhh
NachDenkSeiten.de

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8486
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Graphische Oberfläche

Beitrag von Xin » So Jun 20, 2010 2:42 pm

stampuhh hat geschrieben:ok ich werde mir mal etwas überlegen ;)
Sowohl inhaltlich als auch grafisch...und dann versuchen das ins Wiki zu bekommen :roll:
Go for Wiki ^^
stampuhh hat geschrieben:
wie wir Dich dazu bringen, das in Code zu gießen
Naja..das in Code zu bekommen ist mehr oder weniger nicht das Problem (natürlich auch aber davor gibt es andere Probleme zu lösen). Bin mir über Projektstruktur im SVN, Einbindung der Bibliotheken etc nicht wirklich im Klaren, sprich: selbst wenn ich etwas zustande bekomme wäre es vermutlich erst mal nutzlos für euch oder mit viel Aufwand verbunden :D
Es gibt noch keine Projektstruktur, wir sind am Anfang.

Die Projektstruktur ist aber mein Problem. Solange ich nichts habe, kann ich aber auch nichts strukturieren.
Weiterhin wird die Struktur erst interessant, sobald mehr als einer eincheckt. ^^
stampuhh hat geschrieben:Aber da können wir ja ein Minibeispiel irgendwie einbinden zusammen und dann wird das schon...erst mal die "Papierarbeit" :)
Sobald Du da ankommst, wäre es optimal, wenn das Beispielprogramm möglichst nur die Interfaces anspricht.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
stampuhh
Beiträge: 211
Registriert: Sa Nov 07, 2009 4:39 pm
Wohnort: Paderborn

Re: Graphische Oberfläche

Beitrag von stampuhh » Do Jun 24, 2010 7:48 pm

Heyo,

also ich wollte mich mal ganz kurz melden ;)
Ich lebe noch, war nur diese Woche etwas viel am Fussball schauen...und da ist ja der komplette Nachmittag immer sofort gelaufen. Aber das geht ja auch nicht mehr lange und dann bin ich wieder voll dabei. Hoffe das nimmt mir hier keiner übel :(

Habe aber eh noch eine kurze Nachfrage. Und zwar was genau verstehst du unter "Interface"? Wenn ich den Javabegriff nehme dann wäre das in C++ etwa eine Headerdatei... :roll:
Ich soll mir also mehr oder weniger Methoden-bzw Aktionsnamen überlegen wie zB OnMenuEditSave (Datei-->Speichern) oder so was in der Art?

gruß stampuhh
NachDenkSeiten.de

Antworten