Seite 1 von 2

Fragen zur IDE Personalisierung

Verfasst: 18.10.2011 14:05
von Bisonte
Hallo

Ich hab da ein paar Fragen bezüglich der PB - IDE :

1.) Ist es möglich, die Toolbar Leiste zu vergrössern ? (von den 16x16px z.b. auf 32x32px)
2.) Kann man selbst ein Menu hinzufügen ? (Bisher wandert ja alles in das Werzeugmenu)
3.) Ist es möglich eigene Dinge in das SidebarPanel zu bringen ? Das mit der Hilfe find ich klasse :)
4.) Wo bekomme ich eine genauere Infos zur IDE Werkzeug-Erstellung als aus der PB Hilfe ?

Wenn ja, dann bitte erklären wie...

Re: Fragen zur IDE Personalisierung

Verfasst: 18.10.2011 21:30
von RSBasic
Sind das Wünsche für Fred/Freak oder möchtest du ein Werkzeug bauen, um sowas umzusetzen?
Wenn das Wünsche sind: http://www.purebasic.fr/english/viewforum.php?f=3
Wenn du selber machen möchtest...
Bisonte hat geschrieben:1.) Ist es möglich, die Toolbar Leiste zu vergrössern ? (von den 16x16px z.b. auf 32x32px)
Ja, das ist möglich:

Code: Alles auswählen

EnableExplicit

Define EventID
Global Handle1
Global Handle2
Global TBID

Procedure ListWindows(hwnd,Param)
  Protected String$
  
  If GetWindowLongPtr_(hwnd,#GWL_EXSTYLE) ! #WS_EX_TOOLWINDOW And GetWindowLongPtr_(hwnd,#GWL_STYLE) & #WS_VISIBLE
    String$ = Space(250)
    GetWindowText_(hwnd,String$,250)
    If Not String$=""
      If Mid(String$,1,9)="PureBasic"
        Handle1 = hwnd
      EndIf
      
    EndIf
  EndIf
  
  ProcedureReturn #True
EndProcedure

EnumChildWindows_(FindWindow_("ToolbarWindow32",#Null),@ListWindows(),0)
If Handle1=0
  MessageRequester("Fehler","Handle1 = 0",#MB_ICONERROR)
  End
EndIf

Handle2 = FindWindowEx_(Handle1,0,"ToolbarWindow32",0)
If Handle2=0
  MessageRequester("Fehler","Handle2 = 0",#MB_ICONERROR)
  End
EndIf

TBID = SendMessage_(Handle2,#TB_GETIMAGELIST,0,0)
ImageList_SetIconSize_(TBID,32,32)
SendMessage_(Handle2,#TB_SETIMAGELIST,0,TBID)
SendMessage_(Handle2,#TB_AUTOSIZE,0,0)
Das funktioniert aber nur dann, wenn du die Icons aus dem Archiv "SilkTheme.zip" manuell vergrößerst. Die vorhandenen Icons sind derzeit im 16x16-Format. Diese müssen aber im 32x32-Format sein, um diese auch im Programm in dieser Größe anzeigen zu können.
Bisonte hat geschrieben:2.) Kann man selbst ein Menu hinzufügen ? (Bisher wandert ja alles in das Werzeugmenu)
Schau mal unter: http://msdn.microsoft.com/en-us/library/ms646977.aspx
Da findest du alles, was du brauchst bezüglich der Erstellung und Bearbeitung von Menü-Items.
Bisonte hat geschrieben:3.) Ist es möglich eigene Dinge in das SidebarPanel zu bringen ? Das mit der Hilfe find ich klasse :)
Ja, auch das geht. Such mal nach #TCM_INSERTITEM (mit SendMessage_()). Du musst aber später drauf achten, dass du deine eigenen Gadgets, die du dort hinzufügen möchtest, nicht direkt paren (SetParent_()) darfst. Sonst stürzt PB IDE ab. Du musst deine Gadgets auf ein eigenes Fenster erstellen und anschließend das Fenster ins PanelGadget von PB paren. Das geht ohne Absturz. Und natürlich vorher die Größe des Innenbereichs (GetWindowRect_() von "Static" eines PanelGadgetItems) des PanelGadgets ermitteln, um an die gewünschte Größe anzupassen. (MoveWindow_())

Du brauchst nur die einzelnen Handle-Nummern, die du mit FindWindowEx_() (SysTabControl32) ermitteln kannst.
Hilfreiche Anwendungen:
http://www.rsbasic.de/temp/ShoWin.exe
http://www.rsbasic.de/temp/WinSpy.exe
Bisonte hat geschrieben:4.) Wo bekomme ich eine genauere Infos zur IDE Werkzeug-Erstellung als aus der PB Hilfe ?
F1 drücken und nach "Verwenden externer Werkzeuge" suchen. Da ist alles ausführlich beschrieben. Eine bessere Hilfe gibt es nicht. :mrgreen:

Re: Fragen zur IDE Personalisierung

Verfasst: 18.10.2011 21:43
von Bisonte
hoy... das nenn ich mal ausführlich :allright:

Eigentlich geht es mir darum selber Sachen mit der IDE anzustellen (Werkzeugbau)...
obwohl es bestimmt auch für Fred/Freak von Interesse wäre wenn mehr Interesse am personalisieren der IDE
vorhanden sein sollte.
Z.B. kann ich mir vorstellen, das es mehr Leute gibt, die auf einem grossen Monitor nicht
die klitzewinzigen 16x16px "Kästchen" anvisieren wollen, weil von "Bildern" kann man da nicht mehr sprechen... :freak:

Ich werd mich da mal ein bisschen austoben...

P.S.: Die FatCow Iconsammlung verfügt über 32x32px,
und die sehen beinahe gleich aus wie Silk (Ich denke mal das war bei denen die Vorlage...)

Re: Fragen zur IDE Personalisierung

Verfasst: 18.10.2011 21:53
von ts-soft
Bisonte hat geschrieben: Z.B. kann ich mir vorstellen, das es mehr Leute gibt, die auf einem grossen Monitor nicht
die klitzewinzigen 16x16px "Kästchen" anvisieren wollen, weil von "Bildern" kann man da nicht mehr sprechen... :freak:
Wenn man seine IDE dann auf den "grossen" Monitor maximiert und grosse Icons, sowie grosse Schrift nutzt, warum
hat man dann einen "grossen" Monitor :mrgreen:
Aber Du wirst recht haben, es gibt so Leute :wink: , ich jedoch nutze die IDE nicht maximiert und nutze die freie Fläche
für weitere offene Programme, weil dafür ist IMHO der grosse Monitor von Vorteil und macht sich bezahlt.

Mit dem Einbauen in Werkzeugleiste usw. wäre ich sehr vorsichtig, eine stabile IDE ist wichtiger als irgendwelchen
unnützer Schicke-Micki da einzubauen.

Gruß
Thomas

Re: Fragen zur IDE Personalisierung

Verfasst: 18.10.2011 22:05
von Bisonte
ts-soft hat geschrieben:Mit dem Einbauen in Werkzeugleiste usw. wäre ich sehr vorsichtig, eine stabile IDE ist wichtiger
als irgendwelchen unnützer Schicke-Micki da einzubauen.
Das ist mir bewusst, da man grosse Umwege mit API und durch die Brust ins Auge hatte ich das sofort wieder
verworfen, nachdem ich das las /:->

Wäre ja möglich gewesen, das so etwas vorgesehen ist, und ich die Beschreibungen bloss nicht gefunden habe...

Im Grunde schwebt mir "erstmal" nur ein Autosave alle x minuten und halt die Grösse der Toolbar vor...

Achja ... Grosser Monitor... die Sidebar ist recht nützlich, und auf so nem Widescreen ist die auch flink breiter gemacht.
Da jetzt dort auch die Hilfe drin gezeigt werden kann ist das mal so ein Maximierungsgrund ;)

Re: Fragen zur IDE Personalisierung

Verfasst: 18.10.2011 22:32
von RSBasic
Naja, wenn man natürlich unsauber programmiert, kann die Stabilität der PB-Anwendung nicht gewährleistet werden, aber wenn man sein Tool mehrfach testet und dafür sorgt, dass es nicht abstürzt, in dem man richtig programmiert, dann kann da nicht viel passieren.
Ich habe bereits ein Werkzeug entwickelt "Multicolor Procedure List" und hatte bis jetzt überhaupt keine Abstürze oder sonstiges. (Screenshot: http://www.rsbasic.de/screenshots/67984602089849.png )
Bisonte hat geschrieben:Im Grunde schwebt mir "erstmal" nur ein Autosave alle x minuten
Du könntest einen Menü-Event auslösen:

Code: Alles auswählen

PostMessage_(Handle1, #WM_COMMAND, 2, 0);"Speichern"
PostMessage_(Handle1, #WM_COMMAND, 4, 0);"Alles speichern"
Du musst nur vorher überprüfen, ob die offenen Dateien bereits auf der Festplatte gespeichert wurden:
%FILE : Dateiname und Pfad des aktuellen Quellcodes. Leer, wenn dieser noch nicht gespeichert wurde.
Aber das gilt nur für die aktuelle Datei. Du musst mal schauen, wie du das am besten machen möchtest.

Wegen "großer Monitor": Bei mir jedenfalls wird PB immer maximiert (ist doch klar :mrgreen: ), weil ich möchte nämlich viele Zeilen auf einmal sehen und nicht extra viel scrollen. Und da ich sowieso mehrere Monitore besitze, kann ich so oder so mehrere Fenster parallel anzeigen.

Re: Fragen zur IDE Personalisierung

Verfasst: 18.10.2011 22:37
von ts-soft
Controlling the IDE - What features would you like to see?
Da dies noch nicht für PB4.60 umgesetzt wurde, kannste dort noch Deine Wünsche äussern :wink:

@RSBasic
Bei mir wird nichts maximiert, außer Video oder Fernsehen. Und dauernd den Kopf bewegen um auf einem weiteren
Monitor zu gucken tue ich mir nicht an, solange alles auf einem passt (außerdem hat mein Zweit-Monitor die Grätsche
gemacht :mrgreen: )

Re: Fragen zur IDE Personalisierung

Verfasst: 19.10.2011 00:31
von Bisonte
@RSBasic:

Also ich hab den Code zum vergrössern der Toolbar mal probiert, aber ich krieg es einfach nicht hin...

Die Icons sind alle ausnahmslos im 32x32 format, vorsichtshalber hab ich die darstellung innerhalb der Menues ausgeschaltet
aber es wird nix.

Ungeändert ist das Handle2 immer 0.
wenn ich bei der ListWindows() Prozedure ein ProcedureReturn 0 einfüge (so hab ich das mit EnumChildWindows_ in Erinnerung) damit er bei fund auch endet, dann hat er zwar handles aber ich seh keine veränderung.

was mach ich da verkehrt ?

Re: Fragen zur IDE Personalisierung

Verfasst: 19.10.2011 20:08
von RSBasic
@Bisonte
Das Ändern der ToolBarIcon-Größe geht doch nicht bzw. es wäre nicht sinnvoll.
Mal angenommen, es würde funktionieren mit dem Ändern der ToolBarIcon-Größe, aber dann hätte man das Problem, dass sich zwei Bereiche überschneiden. (ToolbarWindow32 (ToolBar-Leiste) und PureCanvas (Tableiste))
Da müsstest du das PureCanvas-Gadget nach unten verschieben. Zusätzlich musst du noch das Scintilla-Gadget ebenfalls nach unten verschieben und die Größe anpassen. Selbst wenn diese Gadgets geändert bzw. verschoben werden, werden die Gadgets nach einem Resize- oder Redraw-Event wieder zurückgesetzt, da PB IDE diese Gadgets automatisch an die Fenstergröße anpasst. Also müsstest du andauernd die Größen und Positionen ändern, aber das wäre sinnfrei.

Re: Fragen zur IDE Personalisierung

Verfasst: 19.10.2011 22:19
von Bisonte
Schade eigentlicht... Trotzdem danke.