Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]4502[/thread]

GED: Module und Namensräume: wie umgeht man Namenskonflikte? (Seite 4)



<< |< 1 2 3 4 >| >> 35 Einträge, 4 Seiten
Crian
 2004-02-11 00:53
#39498 #39498
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Version 0.0.28 ist da, mit einer Basisklasse und ein paar Bugfixes (siehe Changelog).
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
esskar
 2004-02-11 00:54
#39499 #39499
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
toll wäre, wenn das speicherformat xml wäre...
ptk
 2004-02-11 17:27
#39500 #39500
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Was mir aufgefallen ist:

- Du koenntest ruhig ein Makefile.PL anlegen. Das hilft zum einen dir beim Erzeugen einer Distribution (Stichwort: make dist) und auch dem Benutzer, der das Paket richtig installieren will.

- Wenn du ged so angelegt hast, dass es auch nicht-installiert funktioniert soll, solltest du noch
Code: (dl )
use FindBin; use lib "$FindBin::RealBin";
an den Anfang von ged.pl schreiben. Dann funktioniert auch der Aufruf, wenn man sich nicht im ged-Verzeichnis befindet.

- Alle Export- und Speicherfunktionen scheinen fuer den Dateinamen die Extension *ohne* Punkt anzuhaengen. D.h. wenn ich beim Speichern "bla" angebe, dann wird "blaged" daraus.

- Wie ich sehe, erzeugt der LaTeX-Export nur eine Datei, die aus einer anderen Datei inkludiert werden muss. Richtig?

- Der Label mit dem blauen Hilfstext sollte linksbuendig gemacht werden (wahrscheinlich mit -anchor => "w").

- Gibt es eine Moeglichkeit, eine Operation abzubrechen, z.B. wenn ich "Kante einfuegen" auswaehle, den Anfangspunkt setze und dann abbrechen moechte. <Escape> koennte man verwenden, ausserdem ein Klick auf eine andere Operation.

- Die Fenster, die unterhalb von "Hilfe" erzeugt werden, muessen nicht unbedingt modal sein. Ich bin gerade die TODO-Liste durchgegangen und wollte dabei etwas in ged ausprobieren, aber leider geht das nicht, solange die TODO-Liste aktiv ist.

- Drucken: unter Unix koennte man den Umweg ueber einen Postscript-Viewer gehen. D.h. Postscript in eine temporaere Datei schreiben und dann kghostview, ggv oder ghostview aufrufen, je nachdem, was vorhanden ist. Dort kann man meist den Drucker auswaehlen und hat gleich eine Druckansicht. Oder man verwendet kprinter nur fuer die Druckerauswahl (keine Ahnung, was man hier unter GNOME verwenden wuerde). Unter Windows ist die Sache schwieriger. Man koennte versuchen tkWinPrint von Tcl/Tk nach Perl/Tk zu portieren. Man koennte aus dem Graphen ein PDF erzeugen und dann mit PDF::Create oder aehnlichem ein PDF erzeugen und dann Acrobat Reader aufrufen.

- Das Pod koennte man per Tk::Pod direkt aus dem Hilfe-Menue anzeigen.
ptk
 2004-02-11 18:23
#39501 #39501
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Crian,11.Feb..2004, 17:02]Speicherformat XML könnte ich wohl problemfrei anbieten. Was ist YAML?
[/quote]Die Abkuerzung steht fuer "Yet Another Markup Language", obwohl das eigentlich falsch ist. YAML ist ein menschenlesbares Format zum Serialisieren von Daten. Also ein Ersatz fuer Storable (welches gar nicht menschenlesbar ist) und Data::Dumper (bedingt menschenlesbar). Im einfachsten Fall reicht ein
Code: (dl )
use YAML; YAML::DumpFile("filename", $graph_datenstruktur)
.

Quote

[quote=ptk,11.02.2004, 16:27]- Du koenntest ruhig ein Makefile.PL anlegen. Das hilft zum einen dir beim Erzeugen einer Distribution (Stichwort: make dist) und auch dem Benutzer, der das Paket richtig installieren will.

Ja, das ist irgendwann in dieser oder anderer Form vorgesehen, wahrscheinlich nicht per Make, da nicht jeder Unixtools auf seinem Rechner hat.
[/quote]
Dann ist Module::Build das Tool deiner Wahl.
Quote
Im Moment ist das Tool ja noch in der Entwicklungsphase, deshalb ist es so gedacht, dass man das Zip-File irgendwo auspackt und aus dem Verzeichnis heraus verwendet.

[quote=ptk,11.02.2004, 16:27]- Wenn du ged so angelegt hast, dass es auch nicht-installiert funktioniert soll, solltest du noch
Code: (dl )
use FindBin; use lib "$FindBin::RealBin";
an den Anfang von ged.pl schreiben. Dann funktioniert auch der Aufruf, wenn man sich nicht im ged-Verzeichnis befindet.

Ja guter Tipp, das habe ich bei den Tools die ich bei der Arbeti entwickelt habe auch gemacht. Bisher hatte ich die Notwendigkeit noch nicht, aber es tut ja nicht weh ;)
Ich habe es gerade eingebaut, wird in der nächsten Version dabei sein.
Frage: Warum RealBin? Ich nehm immer Bin dafür?!
[/quote]
Einen Unterschied gibt es nur, wenn man symbolische Links verwendet. Ich organisiere meine Projekte manchmal so, dass das Applkationsverzeichnis nach /usr/local/Application kommt und in /usr/bin/application ein symbolischer Link, der nach /usr/local/Application/application zeigt. In diesem Fall wuerde Bin nicht funktionieren.

Quote
[quote=ptk,11.02.2004, 16:27]- Alle Export- und Speicherfunktionen scheinen fuer den Dateinamen die Extension *ohne* Punkt anzuhaengen. D.h. wenn ich beim Speichern "bla" angebe, dann wird "blaged" daraus.

Nein, bei mir werden sie mit Punkten abgetrennt gespeichert und exportiert.
Aus bla wird bla.ged.

Arbeitest Du zufällig unter Linux? Die Dateispeicher-Funktionalitäten unterscheiden sich ja, kann sein, dass das daran liegt.
Der Dialog unter Windows macht es richtig, jedenfalls bei mir. Aber dem Problem kann man ja auch mal nachgehen.

[/quote]
Urks, ich habe es befuerchtet. Eine Inkompatibilitaet zwischen Unix und Windows, die seit Jahren wohl nicht bemerkt wurde :-(

Quote
[quote=ptk,11.02.2004, 16:27]- Wie ich sehe, erzeugt der LaTeX-Export nur eine Datei, die aus einer anderen Datei inkludiert werden muss. Richtig?

Ja, weil es mir nicht sinnvoll erschien, ein Dokument mit nur einem Graphen zu erzeugen. Und wer etwas mit der LaTeX Ausgabe angfangen kann, kann auch den Rahmen drummachen.
Aber ich könnte auf den geplanten Konfigurationsseiten dies einstellbar machen und auf Wunsch einen Dokumentrahmen drumherum ausgeben.
Fändest Du das sinnvoll? (Nehm ich mal an, weil Du es erwähnst.)
[/quote]
Nun ja, ich habe ein LaTeX-Export gemacht und gleich "latex test.tex" ausprobiert, was natuerlich fehlschlug. Man koennte irgendwo reinschreiben, dass es sich nur um ein Schnipsel handelt (im Menue? in der erzeugten Datei?).

Quote
[quote=ptk,11.02.2004, 16:27]- Der Label mit dem blauen Hilfstext sollte linksbuendig gemacht werden (wahrscheinlich mit -anchor => "w").

Welcher Label? *such*
Meinst Du die Ausgaben rechts neben den Buttons?
Warum soll der rechtsbündig sein? mir gefällt er linksbündig eigentlich besser, aber ich werd nochmal drüber nachdenken.
Und ev. auch konfigurierbar machen.
[/quote]
Ja, rechts neben den Icons. Bei mir ist der Text zentriert, was bei laengeren Erklaerungstexten, die die Breite des Labels sprengen, etwas irritierend ist.
Crian
 2004-02-12 11:20
#39502 #39502
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
GED Version 0.0.30 ist da

Changelog:

- Kapselung der interenen Kanten/Ecken zusammenhänge durch vier Hilfsfunktionen
in Graph::GED::Graph2d (x_von_a, y_von_a, x_von_e und y_von_e), welche die
Koordinaten der Ecken ausgeben, die mit der Kante inzidieren.
Dann muss man später nur hier ändern, falls man doch mal die Ecken direkt in
die Kanten aufnehmen will.
- use FindBin; use lib "$FindBin::RealBin"; verwendet, damit man das Programm
(ohne Installation) nicht nur aus dem ged-Verzeichnis aus starten kann.
- Neues Modul Graph::GED::TkTools;
Darein anzeige_fenster ausgelagert und als optionalen Parameter eine Wahl
eingeführt, ob der erzeugte "Dialog" modal sein soll.
- Alle Hilfefenster unmodal gemacht.
- Stellen ausgemerzt, an denen trotz debug auf 0 noch etwas ausgegeben wurde.
(Hoffentlich alle.)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 3 4 >| >> 35 Einträge, 4 Seiten



View all threads created 2004-02-10 23:07.