CollIDE - Crossplatform BlitzMax-IDE
Der Einstellungsdialog steht halbwegs

Es ist geschafft. Eine erste Engine für den Konfigurationsdialog ist fertig, somit ist es recht einfach möglich, neue Einstellungstabs hinzuzufügen. So nach dem Motto "HighlightTab extends ConfigTab". Somit kann man die Highlighterfarben und die Editorfont schonmal einstellen. Das ganze funktioniert eigentlich schon recht gut, nur der Highlighter selber ist noch etwas verbuggt, da muss ich noch was machen. Das ist natürlich alles nicht perfekt, erst recht nicht das Layout des Fensters, die Buttons unten
. Im Allgemeinen bin ich aber doch recht zufrieden für heute.
Das ganze in Bildern:

Das ganze in Bildern:

Nichts besonderes ;)

Heute ist wieder einiges unter der Haube geschehen. Die Highlighter Styles werden anständig gespeichert und geladen, und der Konfigurations-Dialog ist in Arbeit. Im Moment beschäftige ich mich mit dem FontChooser, da bei Java keiner dabei ist. Das ganze ist nicht allzu komplex, aber den Hauptteil mache ich wohl morgen (Schulfrei *yeah*). Desweiteren habe ich wieder mal einige Bugs gefixt. Ich denke, dass ihr morgen mit einem ersten funktionierendem Konfigurationsdialog rechnen könnt.
Und weiter...

Ich habe heute mal wieder ein wenig weitergearbeitet. Zunächst mal zeigt die IDE nun Zeilennummern an. Das ganze ist noch etwas verbuggt, funktionier aber alles in allem recht gut. Er updatet natürlich in Echtzeit beim Schreiben. Desweiteren wurden einige Bugs gefixt, die mir beim Programmieren so aufgefallen sind. Neben einigen weiteren Codeverbesserungen wird die gesamte Konfiguration nun in reinem tollen XML gespeichert, und natürlich auch wieder gelesen. Auch hier habe ich das ganze wieder sehr ordentlich umgesetzt, sodass die IDE bei einem Fehler wie dem Fehlen eines Wertes nicht gleich verreckt oder später die Font nichtmehr findet. Die IDE spuckt immer brav Fehler und korrigiert die Werte
.
Aktueller Screenshot:

Aktueller Screenshot:

Mark's grausige Hilfe...

Ich hab heute wieder ordentlich gearbeitet, allerdings wieder mehr an der Engine. Ich weiß absolut nicht, was Mark und der Rest von BRL sich beim entwickeln der automatischen Dokumentation von BMax Module gedacht haben. Wer kommt bitte auf die Idee, eine Tabelle so zu gestalten, im Code:
Code: [AUSKLAPPEN]
[ @Style | @Meaning
* WINDOW_TITLEBAR | The Window has a titlebar that displays it's name
* WINDOW_RESIZABLE | The Window can be resized by the user
* WINDOW_MENU | The Window has a menubar
* WINDOW_STATUS | The Window has a statusbar
* WINDOW_TOOL | The Window is rendered on some platforms with a reduced titlebar
* WINDOW_CLIENTCOORDS | The dimensions specified relate to the client area not the window frame
* WINDOW_HIDDEN | The Window is created in a hidden state
* WINDOW_ACCEPTFILES | Enable drag and drop operations
]
Was soll das denn bitte? Ein "[" leitet eine tabelle ein, ein "*" erstellt ne neue Zeile, ein "|" ne neue Zelle, und ein "]" schließt die Tabelle. Dazu muss man noch sagen, dass alle diese Zeichen, in den Docs noch öfter ohne Tabellen-Kontext auftauchen. Wieso könnte man nicht einfach, so wie es früher war, eine normale HTML Tabelle nehmen? Ich denke mal alle Doc-Systeme generieren HTML-Code, und für die anderen ist das auch leicht parsebar, zumal es XML-Module in Massen gibt. Naja, nun hab ich dafür also einen relativ bugfreien Parser, der aber auch schon wieder über 100 Zeilen umfasst, nur für so dämliche Tabellen. So sehen die dann aus, wobei das da nun mein HTML-Template ist:
Naja, desweiteren habe ich die darstellung der Funktionsparamter nochmal etwas erweitert und verschönert und das ganze etwas debuggt (Vor allem einige Parserfehler, wo dann versucht wurde, Strings ohne Trennzeichen zu teilen oder nicht vorhandene Bereiche zu extrahieren). Auch werden jetzt die ganzen Typesymbole ( # steht für Int usw.) automatisch ersetzt und angezeigt. Am Beispiel von CreateWindow() lässt sich das immer sehr gut, zeigen, da sie viele verschiedene Parameter hat:
MfG
Code: [AUSKLAPPEN]
[ @Style | @Meaning
* WINDOW_TITLEBAR | The Window has a titlebar that displays it's name
* WINDOW_RESIZABLE | The Window can be resized by the user
* WINDOW_MENU | The Window has a menubar
* WINDOW_STATUS | The Window has a statusbar
* WINDOW_TOOL | The Window is rendered on some platforms with a reduced titlebar
* WINDOW_CLIENTCOORDS | The dimensions specified relate to the client area not the window frame
* WINDOW_HIDDEN | The Window is created in a hidden state
* WINDOW_ACCEPTFILES | Enable drag and drop operations
]
Was soll das denn bitte? Ein "[" leitet eine tabelle ein, ein "*" erstellt ne neue Zeile, ein "|" ne neue Zelle, und ein "]" schließt die Tabelle. Dazu muss man noch sagen, dass alle diese Zeichen, in den Docs noch öfter ohne Tabellen-Kontext auftauchen. Wieso könnte man nicht einfach, so wie es früher war, eine normale HTML Tabelle nehmen? Ich denke mal alle Doc-Systeme generieren HTML-Code, und für die anderen ist das auch leicht parsebar, zumal es XML-Module in Massen gibt. Naja, nun hab ich dafür also einen relativ bugfreien Parser, der aber auch schon wieder über 100 Zeilen umfasst, nur für so dämliche Tabellen. So sehen die dann aus, wobei das da nun mein HTML-Template ist:

Naja, desweiteren habe ich die darstellung der Funktionsparamter nochmal etwas erweitert und verschönert und das ganze etwas debuggt (Vor allem einige Parserfehler, wo dann versucht wurde, Strings ohne Trennzeichen zu teilen oder nicht vorhandene Bereiche zu extrahieren). Auch werden jetzt die ganzen Typesymbole ( # steht für Int usw.) automatisch ersetzt und angezeigt. Am Beispiel von CreateWindow() lässt sich das immer sehr gut, zeigen, da sie viele verschiedene Parameter hat:

MfG
Arbeit unter der Haube

Ich habe heute und gestern noch etwas weitergearbeitet. Sonder viel neues ist dabei nicht herausgekommen, einige Bugfixes und links werden die Dateien nun in einer eigenen Liste dargestellt. Es ist endlich auch möglich, Dateien von dort aus zu öffnen. Desweiteren habe ich einige kleine Bugs gefixt, aber nichts großes. Dafür hat sich unter der Haube viel getan. Ich habe große Teile des Code etwas übersichtlicher gemacht und die Dokumentation erweitert. Die Dateiliste links ist ganz neu geschrieben worden, sie war das erste, was ich an diesem Projekt gemacht habe, und grausig Programmiert. Nun werden erstmal einige nervige Bugs beseitigt, und die IDE benutzbar gemacht. So kommt es z.B. haufig zu Fehlern bei den Parser-Engines, vor allem aufgrund Fehlebder überprüfungen ( Da werden dann leere Stings gesplittet und durchsucht ). Immerhin läuft das ganze durch das Java-Konzept sehr stabil. Somit gibt es immer eine Exception, das Programm stürzt dabei nicht ab, sondern macht einfach nichts.
Aktuelle Screenshots:
Aktuelle Screenshots:



CodeTree

Das TreeView, das den Code darstellt, funktioniert nun einigermaßen. Damit ist auch gleich eine Engine geschaffen, die den Code parst. Sie unterstützt auch schon if, while etc., aber das TreeView stellt nur Types methoden und Funktionen dar, mehr soll es allerdings auch nicht. Unten Rechts werden Informationen zum gerade ausgewählten angezeigt, sodass man Von überall im Code mal schnell gucken kann, welche Parameter eine Funktion erwartet. Ein Doppelklick springt dann zu der Stelle im Code. Das ganze ist im Moment noch etwas langsam, 400ms für 3000 Code-Zeilen. Da wird sich sicher noch was machen lassen, außerdem wird es auch nur geupdated, wenn einige Zeit ( Ich denke ich nehme 2 Sekunden) nichts am Code geändert wurde.
Screenshot:
Screenshot:

Endlich kann sie kompilieren!

So, heute ist viel passiert. Meine IDE bringt es nun fertig, den Code zu Kompilieren und Auszuführen. Intern werden schon die verschiedenen Möglichkeiten wie debug- und QuickBuild unterstützt, Optionen in Form von Checkboxen dafür werden folgen.
Ansonsten gibt es eigentlich nicht viel zu sagen, außer, dass Prozesse natürlich auch gekillt werden können (der rote Button), und, dass es eine Statusanzeige gibt, die anzeigt, ob das Programm gerade läuft. Das ganze ist schon in der Lage, mehrere Codes gleichzeitig auszuführen, es wird also möglich sein, z.B. einen Client und einen Server mit der selben IDE laufen zu lassen, auch mit eigenem Output-Fenster.
Ein Bildchen:
Ansonsten gibt es eigentlich nicht viel zu sagen, außer, dass Prozesse natürlich auch gekillt werden können (der rote Button), und, dass es eine Statusanzeige gibt, die anzeigt, ob das Programm gerade läuft. Das ganze ist schon in der Lage, mehrere Codes gleichzeitig auszuführen, es wird also möglich sein, z.B. einen Client und einen Server mit der selben IDE laufen zu lassen, auch mit eigenem Output-Fenster.
Ein Bildchen:

Erster Eintrag!

So, da dieses Portal ja nun auch Worklogs beherrscht, erstelle ich gleich mal einen.
Es geht um eine IDE, die in Java geschrieben ist. Sie ist vor allem für Linux gedacht, da es hier noch keine anständige IDE gibt. Die MaxIDE bzw. die Community IDE sind mit dem fltk nicht nutzbar, und mit dem Gtk ist das Schreiben bei längeren Codes (>1000 Zeilen) zu langsam.
Schon vorhandene Features:
Highlighter
Einlesen und Anzeigen der Dokumentation
Ein tolles TreeView mit Dateien
Geplant ist noch vieles, schnelleren Zugriff auf die Hilfe, einnen Code Parser, der ne Baumstruktur darstellt u.v.m. Wie gesagt, das ganze ist noch in einem sehr frühen Stadium, es ist noch vieles zu tun.
Screenshots:
******************************************************************
Hier sieht man die Hilfefunktion, mit Suche und der Möglichkeit, undokumentiertes einzublenden
Die Anzeige rechts ist HTML, und wird nochmal gelayoutet
****
******************************************************************
Der wunderschöne Highlighter
****
******************************************************************
Und nochmal der Highlighter
****
******************************************************************
Und nochmal als Gtk-Version, recht unschön
****
Es geht um eine IDE, die in Java geschrieben ist. Sie ist vor allem für Linux gedacht, da es hier noch keine anständige IDE gibt. Die MaxIDE bzw. die Community IDE sind mit dem fltk nicht nutzbar, und mit dem Gtk ist das Schreiben bei längeren Codes (>1000 Zeilen) zu langsam.
Schon vorhandene Features:



Geplant ist noch vieles, schnelleren Zugriff auf die Hilfe, einnen Code Parser, der ne Baumstruktur darstellt u.v.m. Wie gesagt, das ganze ist noch in einem sehr frühen Stadium, es ist noch vieles zu tun.
Screenshots:
******************************************************************
Hier sieht man die Hilfefunktion, mit Suche und der Möglichkeit, undokumentiertes einzublenden
Die Anzeige rechts ist HTML, und wird nochmal gelayoutet

****

******************************************************************
Der wunderschöne Highlighter
****

******************************************************************
Und nochmal der Highlighter
****

******************************************************************
Und nochmal als Gtk-Version, recht unschön
****

Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7