ubuntuusers.de

Jarnal Erneuerungs-Kur (Notiz-Programm)

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

Kasuar

Anmeldungsdatum:
23. Juni 2011

Beiträge: Zähle...

Hallo,

ich habe vor Jarnal zu "erneuern".

Jarnal ist ein Programm um Notizen zu verfassen und auf PDF-Dateien zu schreiben. Es ist vor Allem mit einem Tablet mit Stift gut einsetzbar. Es existiert auch Xournal (in den Ubuntu Paketquellen Xournal), Notelab (kleines Java-Programm) und Gournal (war bei mir nicht funktionsfähig - falsche Abhängigkeiten). Außerdem entwicklen Haskell-Entwickler z.Z. HXournal - Xournal auf Haskell Basis.

Jarnal ist in Java geschrieben und daher portabel. Somit könnte es auch auf Android und iOS laufen. Jarnal hat sehr viele Funktionen, die in anderen Programmen (wie Xournal, NoteLab) fehlen. Jedoch findet man diese Funktionen sehr schlecht in Jarnal, da das Look-And-Feel und die Menü-Führung unübersichtlich bzw. überaltert ist.

Ich möchte den Source Code von Jarnal soweit überarbeiten, dass der Code leichter verständlich und Erweiterungen leichter erstellt werden können.

Direkt beim Code fehlen Kommentare und eindeutige Variablen-Bezeichungen. Zur Zeit sieht es ungefähr so:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
public void setDialog(){
 	if(type.equals("Fine")) combo1.setSelectedIndex(0);
	if(type.equals("Medium")) combo1.setSelectedIndex(1);
	if(type.equals("Heavy")) combo1.setSelectedIndex(2);
	if(type.equals("Fat")) combo1.setSelectedIndex(3);
	combo2.setSelectedIndex(getTrapColor());
	if(highlighter) combo3.setSelectedIndex(3);
	else if(transparency == 100) combo3.setSelectedIndex(1);
	else if(transparency == 60) combo3.setSelectedIndex(2);
	else combo3.setSelectedIndex(0);
	model1.setValue(new Double(bWidth));
	model2.setValue(new Double(fatWidth));
	model3.setValue(new Integer(jarn.markerweight));
	model4.setValue(new Double(hTrans));
}

Insgesamt fehlt ein objekt-orientierter Ansatz:

- keine Interfaces

- keine Vererbung

- keine effiziente Datenkapselung

- keine wirkliche Modularisierung

Ein UML-Diagramm wäre natürlich auch nicht schlecht ☺

Ich möchte zuerst damit erreichen, dass die Menü-Führung erleichtert und das Look-And-Feel verbessert/vereinheitlicht wird.

Im weiteren Verlauf sollten die oben bemängelten Themen behandelt werden.

Ein gutes Beispiel für die Objekt-Orientierung ist NoteLab. Somit könnte man sich NoteLab vom Coding Style her annähern.

Das aktuelle Wiki zu Jarnal findet man hier: http://jarnal.wikispaces.com/

Dort kann man die ZIP herunterladen und den Source Code aus jarnal.jar bearbeiten.

Im Wiki findet man unter "Source Code" auch meine Verbesserungsvorschläge.

Im Moment möchte ich in der Java-Datei JTool.java den Dialog für "Choose Pen" überarbeiten (zu finden bei "public penDialogListener showDialog(...){...} )

Falls jemand Interesse hat, einfach Kommentar drunter und/oder bei dem wiki mitmachen ☺

Im übrigen wäre eine Projekt-Verwaltung (Github / sourceforge) dafür auch ganz sinnvoll, da bisher die Dateien auf dem auf dem Uni-Server von UCLA liegen.

Viele Grüße 😉

Moderiert von Hexe25:

Dem Wunsch und der Forenstruktur entsprechend verschoben. ☺

Kasuar

(Themenstarter)

Anmeldungsdatum:
23. Juni 2011

Beiträge: 77

Bitte zu "Projekte" verschieben.

Danke 😉

Antworten |