Nur kurz vorgemerkt:
Persönlich vermute ich, dass sich dein Programm wahrscheinlich noch sehr sehr lange nicht wirklich praktisch dazu eignen wird, ihn aktiv nutzen zu wollen, da sie nach wie vor bei weitem nicht mit der Konkurrenz mithalten kann.
Ich gebe die Anregungen also nicht, weil ich glaube, dass dein Programm nützlich wird, sondern viel mehr um zu fördern, dass du ein eigenes Gespür für anständige Software bekommst.
Du hast ja eine Zielgruppe vor Augen. Diese soll mit deinem Editor einfacher HTML-Dokumente erstellen können. Wenn du also eine solche Hilfestellung gibst, solltest du davon ausgehen, dass die Bedienung einfach und schnell gehen sollte, ansonsten ist es keine Hilfe.
Ich finde es gut, dass du die Vorschläge aufnimmst und dann daraus versuchst dein Produkt zu verbessern. Jedoch solltest du auch nicht _nur_ auf andere Vorschläge eingehen, sondern wirklich effizient selbst überlegen:
Ist das Programm so, wie es der Zielgruppe am meisten nützt? Was würde mir fehlen?
Das setzt natürlich voraus, dass du dich selbst damit auskennst, wofür das Programm letztendlich gedacht ist.
Jetzt genaueres zu deinem Programm:
Nun sind es kleinere Symbole und oben angeordnet. Das grundlegende ist schonmal ganz gut.
Jedoch ist bei solcher Software auch wichtig, dass man intuitiv Bescheid weiß, was wofür geeignet ist.
Ich habe noch keine Ahnung, wofür die große weiße Fläche links gedacht ist. Irgendetwas kann ich da einfügen, keine Ahnung was.
Aber etwas wesentliches, was noch rein sollte, wäre intelligenz. Damit mein ich das Programm, es soll "selbstständig" wichtige Aufgaben übernehmen und nicht nur auf Knopfdruck handeln.
Nutz bsp. andere Editoren wie Notepad++.
Ich habe dort nun einfach mal dein Grundgerüst eingefügt, um zu zeigen, wie es dort dargestellt wird.
Was mir bei einem solchen Editor also wichtig ist:
Syntaxhighlight
Zeilennumerierung
Was macht Notepad++ z.B. noch?
Wenn ich eingerückt habe und dann via der Enter-Taste einen Zeilenumbruch mache, übernimmt Notepad++ die Einrückung der vorherigen Zeile. So muss ich mir nicht die Mühe machen es auch immer und immer wieder einzurücken und behalte meine Strukturierung bei. Das macht das Programm für mich automatisch.
Was du auf dem Screenshot ebenfalls siehst, wären die Kästchen mit dem - darin. Die tauchen überall auf, wo ein Tag geöffnet wird, aber nicht in der gleichen Zeile geschlossen wird. So kann man ein komplettes mehrzeiliges Element zuklappen (dann wird aus dem - auch ein plus) und bei erneutem Drücken wieder aufklappen.
Diese Funktion übernimmt für mich auch das Programm, dass bei jedem solcher Elemente dies mir zur Verfügung steht.
Deine Buttons oben sind schonmal ganz ok. Für die Ausführung der Funktion bisher ok. Im Endprodukt solltest du vielleicht etwas hübscheres nutzen, aber vorübergehend schonmal ok.
Aber:
Wenn ich auf einen Button drauf drücke, will ich auch sofort, dass etwas passiert. Und nicht, dass ich erst überall durch aufklappbare Menüs durchforsten muss. Der Button selbst sollte intuitiv das tun, was am meisten benutzt wird. Lediglich der Pfeil daneben sollte ein Ausklappmenü für weiteres bieten. Wenn ich also auf das P drücke, will ich sofort den <p>-Tag haben. Geöffnet und geschlossen zugleich am besten. Und der Textcursor am besten direkt da zwischen gesetzt, dass man direkt in dem neu gesetztem Element lostippen kann.
Wenn ich einen Text markiere und drücke dann auf den <p>-Tag, soll um den markierten Text (oder sonst irgendwas, was ich markiert hab) eben der geöffnete und der geschlossene passend gesetzt werden (wie hier im Forum mit den BB-Codes auch..).
Da du dich ja auf HTML und CSS spezialisierst, kann man auch noch zusätzliche Sachen machen.
Generell würde ich es empfehlen CSS und HTML codetechnisch zu trennen. Du solltest also mit Tabs arbeiten für verschiedene Dokumente. Wenn man also eine neue ID oder Klasse anlegt, wird dafür automatisch ein Eintrag in der CSS-Datei gemacht, wo man seine Werte eintragen kann.
Diese sollten aber auch nicht nur auf Knopfdruck angelegt werden, sondern auch intuitiv vom Programm aus.
Schreibt man also von Hand aus im Dokument folgendes:
Das Programm soll dies erkennen und einen entsprechenden Eintrag dafür machen.
Nach kurzem ausprobieren ist mir klar geworden, dass du die weiße Fläche links bereits für Klassen und IDs nutzt. Könntest du beibehalten und genau für meinen vorgeschlagenen Einsatzzweck umgestalten.
Unten drunter sollte (war glaube ich in der alten Version dabei) auswählbar sein, ob Klasse oder ID. Wenn man dort dann eben auf hinzufügen klickt, wird
a) es in die Liste aufgenommen
b) ein Eintrag in der CSS-Datei gemacht
Schreibt man eben wie oben erwähnt manuell einen Code, soll dies eben automatisch erkannt werden und in die Liste mit aufgenommen werden.
In der Liste - rechtsbündig würde ich vorschlagen, zwei kleine Buttons. Jeder führt zu einem bestimmten Punkt:
Zum entsprechenden Eintrag in der CSS-Datei, der automatisch angelegt wurde.
Zum nächsten(!) Element im HTML-Dokument, welches diese ID oder Klasse benutzt.
Ebenso kann man auch dort dieses [+] bzw. [-] unterbringen, sodass man auch in der "Style-Navigation", also dieser Liste, nachschlagen kann, welche CSS-Definitionen dafür eingetragen sind in der CSS-Datei. Also aufklappen zeigt alle passenden Einträge mitsamt den CSS-Werten.
Das wäre eine Möglichkeit das effizient und intelligent zu nutzen. Gäbe aber durchaus andere Möglichkeiten, wie man das Programm gestalten kann. Letztendlich liegt es wie gesagt an dir, dass du dir überlegst, wie deine Zielgruppe es wohl am besten haben möchte. Es sollte eben wirklich einfach und intuitiv zu bedienen sein, viele Vorgänge automatisch lösen und möglichst das anbieten, was man haben möchte.
Du wirst es wahrscheinlich bei weitem nicht im guten Qualitätsansatz zufriedenstellend bewältigen. Aber ich denke, wenn du es versuchst und zumindest ein Teil davon provisorisch hinbekommst, ist es zumindest eine Übung für dich, dich zu verbessern.
Zusatztext:
Du solltest vielleicht irgendwann von Visual Basic wegkommen. Zum einen wäre es gut, Programme irgendwann auch Plattformübergreifend zu machen. Visual Basic ist rein für Windows.
Allgemein wird es aufwendiger. Aber generell ist es schon eher so: Die meisten Anfänger in Sachen "Programmierung" freuen sich total, wenn sie ganz einfach und schnell ein funktionierendes Programm zusammenklicken können. Das merkt man bei den meisten, die ihre ach so tollen VB-Programme präsentieren. Daraus wird dann aber meistens nichts und die Programme sind von der funktonalität minderwertig und auch die Planung dazu war wirklich zu wenig.
Wenn du es ernst meinst, lern eine anständige Sprache. Wenn du es wirklich schaffst - das heißt nicht nur auswendig lernen, wie man welches Programm schreib, sondern zu verstehen, was passiert, wenn man was macht - dann solltest du auch ein Gefühl dafür bekommen, wie man wirklich gut funktionierende Software schreibt.
Die GUI-Programmierung wird dir aber wahrscheinlich damit am Anfang schwieriger fallen, was gerade bei deinem Produkt ja gerade das ist, was es machen soll. Wenn du es jedoch so machst und eine gut etablierte und plattformverbreitete Sprache lernst, lass dir Zeit. Fang notfalls in einem Jahr nochmal mit nem Editor an. Jedoch hast du dann wahrscheinlich mehr Erfahrung und weißt vielleicht auch selber, wie du das Programm später wirklich gestalten möchtest.
Es ist auch nicht schlimm, wenn du dafür den jetzigen Editor nicht mehr weiterentwickelst. Bei dem, was du bisher gezeigt hast, dauert es eh noch ne ganze Weile, bis das Programm annähernd tauglich wäre, sinnvoll eingesetzt zu werden. Wenn du die Zeit erstmal intensiv in das Lernen einer anderen anständigen Sprache steckst, holst du das am Ende wieder ganz schnell auf, da du dann hoffentlich auch wesentlisch schneller wesentlich bessere Software schreiben kannst.
Am Anfang solltest du jedoch wissen, solltest du Programme schreiben können, die auch ohne GUI funktionieren. Erst wenn du das kannst, solltest du dich an die GUIs wagen. Also nicht wundern, wenn du dich vorübergehend an schwarzen Fenstern mit weißer Schrift gewöhnen musst.
Beispielsweise könntest du mit ganz klassischen Sprachen anfangen. Zwar schon recht alt, aber auch noch häufig benutzt: C oder gar C++. Wobei du für C++ dann auch schon objektorientiert arbeiten solltest, was du wahrscheinlich noch gar nicht aktiv kennst(?). Kannst dir natürlich auch eine andere Sprache aussuchen, die vielleicht "moderner" ist. Musst du schauen.______________