Forum: Compiler & IDEs Geany-Plugin: Icon aus Toolbar entfernen?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe ein Problem beim schreiben eines MCS51-Debugger Plugins für 
Geany.

Habe noch keine Erfahrung mit GTK und benutze das Projekt zum lernen. 
Stehe noch ganz am Anfang und versuche zunächst einen Menüeintrag und 
einen Schnellstarter in der Werzeugleiste zu erstellen. Beides 
funktioniert, wenn ich das Plugin in Geany aktiviere, aber beim 
deaktivieren des Plugin bleibt das Icon in der Werkzeugleiste zurück. 
Der Menüeintrag wird ordentlich entfernt.

Im Bild ist die Werkzeugleiste mit vier zurückgelassenen Icons (grüne 
Pfeile, rechts oben) und der entsprechende Programmcode zu sehen.

Ab "//--- Debug Toolbar -------" wird der Schnellstarter eingerichtet 
und wie zu sehen funktioniert es sogar mehrfach hintereinander.

In der Funktion "debug_cleanup" wird wieder aufgeräumt. Für den 
Menüeintrag "debug_menu_item" funktioniert das auch. Aber für den 
Schnellstarter des Toolbar nicht, der/die bleibt/bleiben bis zum 
Neustart von Geany zurück.

Meine Frage: Kennt jemand eine Möglichkeit dieses Icon beim aufräumen zu 
entfernen?

Im Netz habe ich darüber leider nichts gefunden. Es muss aber gehen, da 
es im Plugin "scope", der Geany Plugins,  Anwendung findet und das bei 
meinem Geany_1.36 auch funktioniert. Leider verstehe ich den komplexen 
Quellcode von "scope" nicht um mir daraus die Lösung zu erarbeiten.

Gruss Tom

von TomA (Gast)


Lesenswert?

Problem gelöst. Man muss destroy das richtige Element zum zerstören 
geben :)

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo kannAlllesBesser?!

Ich arbeitete lange mit Keil's µVision unter Windows, nun bin ich 
komplett umgestiegen auf Linux und finde hier nichts Vergleichbares. 
Bleibt nur was selbstgemachtes, vor allem weil mein favorisierter 
Controller (Atmel AT89C5122) bereits abgekündigt ist und auch noch auf 
eigener Hardware läuft. Dieses Selbstgemachte wird also sehr speziell 
werden und ist eigentlich nur für mich interessant.

Da ich das Plugin aber zunächst nur für den einfachen 8051 schreibe 
könnte ich mir ein veröffentlichen dieses Teils vorstellen (wenn er 
fertig ist). Die Quellen sind zu grauslig sie zu veröffentlichen.

Als Plugin muss auch nichts installiert werden, man teilt Geany 
lediglich den Pfad zum Plugin mit.

Funktionell soll das Plugin so ähnlich wie µVision sein, nur nicht so 
umfangreich, dafür mit neuen Funktionen. Im Moment ist debuggen im 
Asseblermodus fertig und bietet folgende Möglichkeiten:

  Run - Im Automatikbetrieb starten (bis Ende oder Breakpoint)
  Step - Abhängig vom Betriebsmode ein Assembler- oder C-Befehl
  StepOver - Unterprogramme/Prozeduren wie einen Befehl ausführen
  StepOut - Ab aktueller Position bis zur Rückkehr aus UP  wie ein 
Befehl
  StepBack - Letzte Funktion (Automatik oder Step) rückgängig machen

Vor Allem StepBack war mir wichtig, um beim mehrfachen debuggen einer 
bestimmten Programmstelle  (Schalter abfragen, Wert einlesen...) nicht 
jedesmal das Programm neu starten zu müssen und mich bis zur 
entscheidenden Stelle durchkämpfen zu müssen. Wenn ich eine 
Schalterabfrage prüfen will kann ich nun den einen Zustand prüfen, 
steppe zurück und prüfe den anderen Schalterzustand.

Im Grunde ist es aber noch viel zu früh über das Projekt auch nur zu 
sprechen. Im Anhang ist ein Bildschirmfoto des Debbuggers im 
Assemblermodus.

Gruß Tom

von kannAlllesBesser?! (Gast)


Lesenswert?

TomA schrieb:
> Da ich das Plugin aber zunächst nur für den einfachen 8051 schreibe
> könnte ich mir ein veröffentlichen dieses Teils vorstellen (wenn er
> fertig ist).

danke für die info.
ich habe auch alles von keil rumliegen einschliesslich rtx51 tiny und 
pro.
falls du bedarf an rtx51 hast ...

ich dachte, ich könnte auch in deine geany richtung einen eprom 
simulator bauen oder für eine z8 cpu.

darum wollte ich mal in die sources reinschauen.

von TomA (Gast)


Lesenswert?

Hallo kannAlllesBesser?!

Das ist ja nett, über eine Z80-IDE habe ich auch schon nachgedacht. Ist 
ja viel einfacher als 8051, hat nicht soviel integrierte Hardware. Da 
ich aber über 30 Jahre nichts mehr mit Z80 gemacht habe wurde der 
Gedanke verdrängt (nicht verworfen). Bräuchte dafür auch zuerst eine 
Hardware mit Programmdownload und Debug über USB. Jetzt bitte keine 
Links zu irgendwelchen Z80 Platinen, wenn dann wird so etwas selbst 
gemacht.

Wenn du selbst so etwas Programmieren möchtest überlege gut ob du es als 
Plugin oder eigenständige Software machst. Mir scheint ich habe durch 
Geany mehr Arbeit als ohne. Bei Tatatureingaben gibt mir Geany das 
KeyRelease-Ereignis und wertet selbst das KeyPress-Ereignis aus. Nun 
muss ich erst mal die durch Geany verursachte Unordnung beseitigen und 
danach machen was eigentlich geschehen soll. Das ist besonders bei den 
HexEditoren für Speicherbereiche lustig, wo nur bestimmte Zeichen an 
bestimmten Positionen zulässig sind.

Ich bin mir immer noch nicht sicher ob ich es auftrennen und als 
eigenständige Software neu stricken, oder einfach so lassen soll. Egal 
wie, es ist eine Menge Arbeit. Das geschätzte halbe Jahr 
Entwicklungszeit bis zum debuggen über USB in der Hardware meiner 
Platinen kann kann ich ohne schlechtes Gewissen auf mindestens ein Jahr 
verlängern.

Aber es ist Hobby, macht Spaß und kein Arbeitgeber oder Termin steht 
hinter mir und blickt, provokativ, ständig nervös wie Zufällig auf den 
Kalender.

Wenn Du dir selbst etwas in dieser Richtung schreiben willst helfen dir 
die Dokumentationen von Geany, GTK und Scintilla weiter. Die sind zwar 
nicht gut, aber alles ist sehr oberflächlich und klar unverständlich 
beschrieben (Wenn im Winter die Betriebskantine ausfällt, sollte man 
sofort alle Fenster öffnen - niemand soll hungern ohne zu frieren, ihr 
habt ein Recht darauf). Wo ich am Anfang nur ".a..h.f" verstand, 
verstehe ich heute zumindest schon "Bahnhof". Gelernt habe ich dabei 
aber eine ganze Menge. Wenn ich heute neu beginnen würde, würde ich es 
als eigenständiges Programm mit wxWidgets und Scintilla umsetzen. Damit 
umschifft man den Lizenzdschungel falls man doch mal veröffentlichen 
will. Egal wie, ich wünsche dir viel Erfolg und eine kurzweilige 
Entwicklungszeit.

Gruss Tom

von kannAlllesBesser?! (Gast)


Lesenswert?

TomA schrieb:
> Das ist ja nett, über eine Z80-IDE habe ich auch schon nachgedacht. Ist
> ja viel einfacher als 8051

nicht z80 sondern z8, der hat auch on-chip timer, ports, uart, ...

TomA schrieb:
> Wenn ich heute neu beginnen würde, würde ich es
> als eigenständiges Programm mit wxWidgets

jo, ich tendiere zu python, da kann man vieles schnell und gut 
erledigen.
am ende trotzdem alles viel arbeit, aber nur glotze ist auch keine 
alternative!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.