Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Paul Ishenin wrote: Alexander Klenin wrote: If there is a general agreement, I can prepare detailed proposal for consolidation, but as a quick sketch: 1) Find procedure should be merged into Code explorer What is Find procedure? But since I dont use it I am not against :) 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files Code observer shows IDE hints which IDE builds on the fly. Messages appeared only after some actions mostly with compiler. Find in files is also not a process which IDE do without demand. It is difficult to imagine how you want to combine them together. If you want to just add tabs to the Messages window then I am not againts. But maybe just better to dock Code explorer window into source editor? Then you will see Code observer all the time. Excellent idea ! I think it should be true for any window to dock or put on top. Lastly I debuged asm code and had to click on Windows menu to bring registers window back on top to see how EDX changed. Very annoying.In fact under win32 it could be a few lines of code to make window stay on top but somehow it didn't work (Form.Handle is not correct WinApi HWND or something is messed with window parameters in runtime by LCL).Maybe docking will be better. Best regards Boguslaw Brandys ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On Wed, May 6, 2009 at 2:44 AM, Alexander Klenin kle...@gmail.com wrote: FWIW, I often use Quick search (Ctrl+E) for code navigation, How does quick search work? I highlighted an identifier I want to seach for, pressed Ctrl+E. It showed seaching in the editor status bar, but nothing further. Sometimes it highlights a whole bunch of stuff like the letter e. I'm a bit lost. :-( I think that while Lazarus IDE has many great features, they are not well I just think many of those feature are silently added with nobody knowing. Hence the reason I started the following wiki page to advertise those cool features and visually see what they do. http://wiki.lazarus.freepascal.org/New_IDE_features_since a common UI, thus giving greater exposure to all included features. The wiki pages is trying to give greater exposure as well - visually with animation. 1) Find procedure should be merged into Code explorer I don't know Find procedure where is that? I used the filter in key mappings and found find procedure definition and find procedure method using the age old Ctrl+shift+Up/Down. I would have expected everybody to know the latter key mapping - it's what makes the Lazarus and Delphi IDE such a pleasure compared to other programming editors. 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files I can't see how these can be combined. They are totally different features. Maybe the result windows could be docked though. 3) Unit list (Ctrl+F12) should be merged into Project Inspector I guess, but I simply have the project Inspector window always open. So I simply click a unit to open it. As Paul suggested. I think docking is the key here... it will make many feature or windows more manageable. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On Wed, May 6, 2009 at 18:28, Graeme Geldenhuys graemeg.li...@gmail.com wrote: On Wed, May 6, 2009 at 2:44 AM, Alexander Klenin kle...@gmail.com wrote: FWIW, I often use Quick search (Ctrl+E) for code navigation, How does quick search work? I highlighted an identifier I want to seach for, pressed Ctrl+E. It showed seaching in the editor status bar, but nothing further. Sometimes it highlights a whole bunch of stuff like the letter e. I'm a bit lost. :-( It is like Firefox built-in search: start typing, and it moves to the next occurrence of the typed string. The wiki pages is trying to give greater exposure as well - visually with animation. Yes, documentation is good. But it is well-known fact that users do not read documentation ;-) 1) Find procedure should be merged into Code explorer I don't know Find procedure where is that? I used the filter in key mappings and found find procedure definition and find procedure method using the age old Ctrl+shift+Up/Down. I would have expected everybody to know the latter key mapping - it's what makes the Lazarus and Delphi IDE such a pleasure compared to other programming editors. Sorry, I meant Procedure List. 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files I can't see how these can be combined. They are totally different features. Maybe the result windows could be docked though. Although different in implementation, they are very similar in output: they all display a hierarchial list of strings, each string tied to a code location. Look how it is done in Visual Studio 2005 and later. 3) Unit list (Ctrl+F12) should be merged into Project Inspector I guess, but I simply have the project Inspector window always open. So I simply click a unit to open it. Yes, just add keyboard shortcut and searching feature from unit list to project inspector, then unit list becames a strict subset of it and can be safely removed. As Paul suggested. I think docking is the key here... it will make many feature or windows more manageable. I very much agree that docking is important. However, even with docking one can manage only a limited number of open windows. -- Alexander S. Klenin ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Alexander Klenin wrote: I think that while Lazarus IDE has many great features, they are not well organized. Various Lazarus developers added convenience features with a separate user interfaces, so the features are dispersed all over UI and hard to discover. IMHO the good way forward is to consolidate some feature groups into a common UI, thus giving greater exposure to all included features. I realize that may be a controversial topic, as developers might defend their pet features from consolidation, stating that consolidated UI is less convenient than specialized ones, but I think there should be a balance of uniformity versus specialization, and right now this balance is tipped far on the specialization side. If there is a general agreement, I can prepare detailed proposal for consolidation, but as a quick sketch: 1) Find procedure should be merged into Code explorer Ok by me. (I never used it :) ) It's partly there anyway. 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files IMHO, this (point 2) would be even more a specialization. Also I can't see how those 3 relate at all. Anyway, for that lets wait for docking. 3) Unit list (Ctrl+F12) should be merged into Project Inspector 4) Find unused units should be merged into Unit dependencies I was thinking Unit dependencies could also be merged to Project Inspector ... and so on what about: - keybard layouts? - Menu layouts? Best Regards Martin ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Zitat von Graeme Geldenhuys graemeg.li...@gmail.com: On Wed, May 6, 2009 at 2:44 AM, Alexander Klenin kle...@gmail.com wrote: FWIW, I often use Quick search (Ctrl+E) for code navigation, How does quick search work? I highlighted an identifier I want to seach for, pressed Ctrl+E. It showed seaching in the editor status bar, but nothing further. Sometimes it highlights a whole bunch of stuff like the letter e. I'm a bit lost. :-( Ctrl+e is in incremental find. It searches while you type. see here http://wiki.lazarus.freepascal.org/Lazarus_IDE_Tools#Incremental_Search I think that while Lazarus IDE has many great features, they are not well I just think many of those feature are silently added with nobody knowing. Well, they were added experimentally, then matured gradually over time. Hence the reason I started the following wiki page to advertise those cool features and visually see what they do. http://wiki.lazarus.freepascal.org/New_IDE_features_since a common UI, thus giving greater exposure to all included features. The wiki pages is trying to give greater exposure as well - visually with animation. :) 1) Find procedure should be merged into Code explorer I don't know Find procedure where is that? I used the filter in key mappings and found find procedure definition and find procedure method using the age old Ctrl+shift+Up/Down. I would have expected everybody to know the latter key mapping - it's what makes the Lazarus and Delphi IDE such a pleasure compared to other programming editors. It's called 'procedure list' and its default key is Alt-G, which does not work on all widgetsets. 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files I can't see how these can be combined. They are totally different features. Maybe the result windows could be docked though. All floating windows should be dockable. We have already a docking manager. The missing part is to finish the save/restore of the layout. 3) Unit list (Ctrl+F12) should be merged into Project Inspector I guess, but I simply have the project Inspector window always open. So I simply click a unit to open it. As Paul suggested. I think docking is the key here... it will make many feature or windows more manageable. Mattias ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On Wed, May 6, 2009 at 12:00 PM, Alexander Klenin kle...@gmail.com wrote: Yes, documentation is good. But it is well-known fact that users do not read documentation ;-) Exactly why I decided on using animated gifs. User only needs to view them and not read content to get the idea of a feature. :) Sorry, I meant Procedure List. Before merging with code explorer I'd like this to be discussed first! Like I mentioned before, procedure list is an integral part of my coding. I use it 1000's of times per day to navigate code - QUICKLY. :) Look how it is done in Visual Studio 2005 and later. I don't do Windows, so is there a screenshort explain this? Like somebody suggested - maybe starting a wiki to describe what the plans are and maybe include screenshots (mock-up or real) to show an idea of final result. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On Wed, May 6, 2009 at 12:28 PM, Martin Friebe laza...@mfriebe.de wrote: 1) Find procedure should be merged into Code explorer Ok by me. (I never used it :) ) It's partly there anyway. Lets discuss it first - I use procedure list a *lot*. And at the moment it's behaviour is different to code explorer. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
2009/5/6 Mattias Gärtner nc-gaert...@netcologne.de: It's called 'procedure list' and its default key is Alt-G, which does not work on all widgetsets. Do you mean the shortcut doesn't work or the actual procedure List dialog doesn't work on all widgetsets? Since I switched from GTK1 to GTK2, procedure list doesn't work as well. I think it's due to a bug in GTK2 listview, but I haven't investigated further. To reproduce: * Alt-G (or whatever your shortcut is - mine is always different) to open Procedure List. * Start typing partial method name. * Now press Down Arrow. This should put focus in first item in listview, but it doesn't. :-( This used to work under GTK1. Other differences between Procedure List and Code Explorer. * Procedure List jumps to Implementation section. Code Explorer to Interface section. * Procedure list can filter by Class, non-class or All methods. I don't think Code Explorer can. * Procedure List can filter by method starting with text or method containing text. Not sure what Code Explorer does. * Procedure List, when launched puts focus where it must be - in the filter edit box. Code Explorer - I have no idea where the focus is, I think the treeview (filter box might be a better idea). * In procedure list, when you press Enter to jump to a method, Procedure List closes and gets out of the way. Code Explorer hangs around taking up screen space. So yes, there are plenty to discuss before any merge is to be considered. Please. All floating windows should be dockable. We have already a docking Excellent! Can we enable docking already in Lazarus - even though it isn't saved and restored between sessions? Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
2009/5/6 Mattias Gärtner nc-gaert...@netcologne.de: 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files I can't see how these can be combined. They are totally different features. Maybe the result windows could be docked though. All floating windows should be dockable. We have already a docking manager. The missing part is to finish the save/restore of the layout. I started to look at fixing save/restore once, but dropped it since docking is being rewritten by Hans-Peter Diettrich -- Alexander S. Klenin ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
1) Find procedure should be merged into Code explorer Ok by me. (I never used it :) ) It's partly there anyway. Lets discuss it first - I use procedure list a *lot*. And at the moment it's behaviour is different to code explorer. Of course, no need to rush. But notice how even many people on this list do not know about procedure list -- merging with code explorer should help that. On Wed, May 6, 2009 at 22:10, Graeme Geldenhuys graemeg.li...@gmail.com wrote: Other differences between Procedure List and Code Explorer. * Procedure List jumps to Implementation section. Code Explorer to Interface section. I would prefer to always jump to implementation, but it can be made an option. * Procedure list can filter by Class, non-class or All methods. I don't think Code Explorer can. * Procedure List can filter by method starting with text or method containing text. Not sure what Code Explorer does. Yes, filtering should be added to code explorer. * Procedure List, when launched puts focus where it must be - in the filter edit box. Code Explorer - I have no idea where the focus is, I think the treeview (filter box might be a better idea). Yes, after the merge Alt+G shortcut should put focus in similar field in code explorer. * In procedure list, when you press Enter to jump to a method, Procedure List closes and gets out of the way. Code Explorer hangs around taking up screen space. Well, I have Code Explorer always open anyway, but I guess it can be made an option too. So yes, there are plenty to discuss before any merge is to be considered. Please. Do not worry, the goal it to make everything better ;-) -- Alexander S. Klenin ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Zitat von Graeme Geldenhuys graemeg.li...@gmail.com: 2009/5/6 Mattias Gärtner nc-gaert...@netcologne.de: It's called 'procedure list' and its default key is Alt-G, which does not work on all widgetsets. Do you mean the shortcut doesn't work or the actual procedure List dialog doesn't work on all widgetsets? Alt-G does not work. With other short cuts it works. Since I switched from GTK1 to GTK2, procedure list doesn't work as well. I think it's due to a bug in GTK2 listview, but I haven't investigated further. To reproduce: * Alt-G (or whatever your shortcut is - mine is always different) to open Procedure List. * Start typing partial method name. * Now press Down Arrow. This should put focus in first item in listview, but it doesn't. :-( This used to work under GTK1. Other differences between Procedure List and Code Explorer. * Procedure List jumps to Implementation section. Code Explorer to Interface section. Yes. And this is needed. Maybe jumping to implementation can be added with a modifier key. And an option can be added to toggle With/Without modifier and Interface/Implementation. * Procedure list can filter by Class, non-class or All methods. I don't think Code Explorer can. Very easy to implement. Make a proposal for the gui. * Procedure List can filter by method starting with text or method containing text. Not sure what Code Explorer does. containing * Procedure List, when launched puts focus where it must be - in the filter edit box. Code Explorer - I have no idea where the focus is, I think the treeview (filter box might be a better idea). Patch is welcome. * In procedure list, when you press Enter to jump to a method, Procedure List closes and gets out of the way. Code Explorer hangs around taking up screen space. code explorer is a floating window, normally visible all the time and placed left or right of the source editor. So yes, there are plenty to discuss before any merge is to be considered. Please. All floating windows should be dockable. We have already a docking Excellent! Can we enable docking already in Lazarus - even though it isn't saved and restored between sessions? 1. afaik dragdrop docking does not work on gtk. Only docking via menu item. 2. docking without restore is as useful as a lazarus without projects. Maybe some predefined sets can be added until someone finishes the restore of one of the docking managers. Mattias ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Erm... Ok, maybe I know more about UI than others, maybe I know less. But IMHO, *everything* should be accessible via the menu. So if you don\'t know a shortcut, you can click Menu - IDE Tools - Procedure list Menu - IDE Tools - Anchor Viewer Menu - IDE Tools - Identifier Completion (ctrl-space) (says -you need have typed half of an identifier for this tool to work- if you can not complete) Menu - IDE Tools - Code Completion (ctrl-shift-c) etc. So as soon as a developer adds a new feature... it should be added to the menu too. Or at the very least a popup menu. This way there cab no features that a user does not know about. They can now see it\'s there. So go play with it. Except if they don\'t read the menus. Regards, -Reenen ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On Wed, May 6, 2009 at 1:52 PM, Alexander Klenin wrote: * Procedure List jumps to Implementation section. Code Explorer to Interface section. I would prefer to always jump to implementation, but it can be made an option. Yup, I prefer that too. * In procedure list, when you press Enter to jump to a method, Procedure List closes and gets out of the way. Code Explorer hangs around taking up screen space. Well, I have Code Explorer always open anyway, but I guess it can be made an option too. The problem with Code Explorer and FPDoc Editor type windows is that they use processing power as you navigate or switch units. Hence the reason I don't like keeping them open. When I need them I open them, but once done, I close them again. I also prefer to have my source editor area as large as possible. Procedure List follows the same rules. Only there when needed and doesn't use extra processing power if not used. Not everybody has fast computers - developers in our company are probably last on the list of having their systems upgraded. Our receptionist has a faster computer that what I have - and she only types letters and sends emails. :-( Do not worry, the goal it to make everything better ;-) :) Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
2009/5/6 Mattias Gärtner wrote: Do you mean the shortcut doesn't work or the actual procedure List dialog doesn't work on all widgetsets? Alt-G does not work. With other short cuts it works. Does it conflict with OS or Desktop Manager? For example: Ctrl+Alt+[F1-F12] under Ubuntu is grabbed by X11 and switches virtual consoles. Maybe a different default shortcut could be chosen. I have my shortcuts as follows: * Alt+G - Goto line number... * Ctrl+G - Procedure List * Ctrl+Shift+G - Generate GUID in editor Alt key behaviour is weird under GTK2 with Programmer Dvorak layout. Though I am not use if it affects Qwerty layout as well. For example I click grab and type Ctrl+Alt+C and only Ctrl+C is grabbed. Yet if I press Ctrl+Alt+G it works?? Weird. :-( BTW: How do I clear a keyboard shortcut? Can't a simple clear button be added? * Procedure list can filter by Class, non-class or All methods. I don't think Code Explorer can. Very easy to implement. Make a proposal for the gui. Will do. * Procedure List can filter by method starting with text or method containing text. Not sure what Code Explorer does. containing OK. Also filtering the treeview as you type might be better that multi-selecting all matches. What's the point of having multiple methods selected? The edit box is called filter not auto select. Just a though. ;-) * Procedure List, when launched puts focus where it must be - in the filter edit box. Code Explorer - I have no idea where the focus is, I think the treeview (filter box might be a better idea). Patch is welcome. No problem, but it doesn't make sense until the treeview is actually filtered, as my previous point explains. At the moment I can type a partial method and see methods being selected (unless they are select off screen which also happens), but I can't press enter and jump to that method. I need to tab and scroll down (which defeat the fiter edit box) or move my hand off the keyboard and to the mouse, so I can double click the highlighted item. The filter edit box in Code Explore just doesn't make sense - as it is now. Maybe some predefined sets can be added until someone finishes the restore of one of the docking managers. That should make a few developers happy. :) Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On Wed, May 6, 2009 at 2:20 PM, Reenen Laurie rlau...@gmail.com wrote: Menu - IDE Tools - Procedure list Menu - IDE Tools - Anchor Viewer Both of these are already under the View menu. Menu - IDE Tools - Identifier Completion (ctrl-space) (says -you need have typed half of an identifier for this tool to work- if you can not complete) Menu - IDE Tools - Code Completion (ctrl-shift-c) It makes no sense in having menu items for these from the main Lazarus window. They are used in the editor *while* you type. Otherwise I type partial text. Move my hand off the keyboard onto the mouse and select the menu items. Then move my hand back onto the keyboard to continue typing. A simple shortcut is all that is needed. If you don't know the shortcut, use the Key Mappings screen and filter the items by typing in a description. Environment Options Editor Key Mappings. By typing in comple will give you all the items your require. ;-) Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On Wed, May 6, 2009 at 13:40, Paul Ishenin i...@kmiac.ru wrote: Please create a wiki page. After few revisions it can become a part of roadmap. http://wiki.freepascal.org/IDE_UI_Consolidation -- Alexander S. Klenin ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On 5/6/09, Graeme Geldenhuys graemeg.li...@gmail.com wrote: On Wed, May 6, 2009 at 2:20 PM, Reenen Laurie rlau...@gmail.com wrote: Menu - IDE Tools - Procedure list Menu - IDE Tools - Anchor Viewer Both of these are already under the \View\ menu. Procedure list is not on my view menu... Maybe in a newer revision. :-/ If you don\'t know the shortcut, use the Key Mappings screen and filter the items by typing in a description. The point is that if you don\'t know about the functionality, you won\'t smell it. The keyboard shortcut should be displayed next to the menu item so that you learn it as you do it. Admittedly the stuff that gets done as you type should rather go on a context-popup menu. And... actually most is already on the pop-up under refactoring. Everyday you learn more! But had it not been for this thread I would not have known. What does Enclose Selection do? ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Martin Friebe schrieb: 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files IMHO, this (point 2) would be even more a specialization. Also I can't see how those 3 relate at all. They can use the same Search Results window for their output. That window will know what to do (show related place in source code) when an entry is clicked. Anyway, for that lets wait for docking. Some notes on docking: The Messages and Search Results can be docked to the IDE main window, eventually by default. The docking of forms is unsupported on many platforms, due to the different management of controls (widgetset) and windows (window manager). So all dockable windows should contain one single component for their entire content. (or the forms should float as clients of a floating form). This requirement lead me to another suggestion: When one or more forms are docked into another window, their UI (menus, toolbars...) could be added to the dock host form's UI. Just an idea... what about: - keybard layouts? - Menu layouts? Some visual design for toolbars (and menus) would be nice, as in the Delphi IDE window (configure by dragdrop from the list of available options to a toolbar). DoDi ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Graeme Geldenhuys schrieb: Yes, documentation is good. But it is well-known fact that users do not read documentation ;-) Exactly why I decided on using animated gifs. User only needs to view them and not read content to get the idea of a feature. :) Users who don't want to waste time with reading, also won't want to waste time with videos - in detail when they found out after the first video that the demonstrated feature does not fit their needs. IMO the wiki should be structured in a strict way, e.g. all search features should be summarized together. Two subsections search what/where and search how. Quick/incremental search obviously should go into the search how category. Sorry, I meant Procedure List. Before merging with code explorer I'd like this to be discussed first! Like I mentioned before, procedure list is an integral part of my coding. I use it 1000's of times per day to navigate code - QUICKLY. :) Could it be extended by a list of favorites? I.e. a configurable list of currently used/related/important procedures - similar to bookmarks, but more expressive with only the names of procedures (or types...). DoDi ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On Wed, May 6, 2009 at 4:46 PM, Reenen Laurie rlau...@gmail.com wrote: What does Enclose Selection do? Click it - I dare you! ;-) It allows you to choose with what you want to wrap the currently selected code. eg: try..finaly, try..except, repeat..until, while..do, {} etc.. I learnt that one today as well - and it will save me lots of time as well. I just need to figure out what would be a good keyboard shortcut for it. I have so many custom ones already. My todo list already contains a create Lazarus add-on to all printing keyboard shorcuts as reference cards. I just don't know when I will get around to implementing it. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Alexander Klenin schrieb: All floating windows should be dockable. We have already a docking manager. The missing part is to finish the save/restore of the layout. I started to look at fixing save/restore once, but dropped it since docking is being rewritten by Hans-Peter Diettrich It will be implemented soon. Currently it's abused for an dump of the internal tree structure (debug feature). A redesign of the dockable IDE windows may be required, so that dragdock will work on all platforms. DoDi ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Zitat von Hans-Peter Diettrich drdiettri...@aol.com: Martin Friebe schrieb: 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files IMHO, this (point 2) would be even more a specialization. Also I can't see how those 3 relate at all. They can use the same Search Results window for their output. That window will know what to do (show related place in source code) when an entry is clicked. I don't see how. Find in files shows simple text and identifier occurences. Find in Files and Find identifier references already use the same window. Messages shows several types of messages from compiler, make, codetools and allows to quick fix these. It is planned to allow filtering and sorting. Code observer shows places that might be interesting for code tools. It is planned to add a second treeview to the code explorer as gui for the codetools. Code explorer has lots of short items (more height than width), the other two need more width than height. I see no problem to page-dock messages and find in files, but implementation and usage are too different to marry them. Anyway, for that lets wait for docking. Some notes on docking: The Messages and Search Results can be docked to the IDE main window, eventually by default. The docking of forms is unsupported on many platforms, due to the different management of controls (widgetset) and windows (window manager). So all dockable windows should contain one single component for their entire content. (or the forms should float as clients of a floating form). This requirement lead me to another suggestion: When one or more forms are docked into another window, their UI (menus, toolbars...) could be added to the dock host form's UI. Just an idea... AFAIK merging menus is a very old Delphi feature. There are some starts in the LCL already. what about: - keybard layouts? - Menu layouts? Some visual design for toolbars (and menus) would be nice, as in the Delphi IDE window (configure by dragdrop from the list of available options to a toolbar). Wishlist: http://wiki.lazarus.freepascal.org/Feature_Ideas Mattias ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Graeme Geldenhuys schrieb: The problem with Code Explorer and FPDoc Editor type windows is that they use processing power as you navigate or switch units. Apropos switch units: who made the editor tab shifting almost useless? IMO the scroll buttons should scroll the editor tabs by pages, not activate the next left/right tab. DoDi ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Graeme Geldenhuys wrote: On Wed, May 6, 2009 at 12:28 PM, Martin Friebe laza...@mfriebe.de wrote: 1) Find procedure should be merged into Code explorer Ok by me. (I never used it :) ) It's partly there anyway. Lets discuss it first - I use procedure list a *lot*. And at the moment it's behaviour is different to code explorer. Regards, - Graeme - Yes.I agree.+1 vote for Graeme :-) In fact we see here old problem of two rights - both groups are right , partially. While it would be nice to have as many nice features placed in one Code explorer as possible - that WILL double windows, because someone not using docking (due to limited free memory for example) will find faster to use Ctrl+F12 to show not bloated window with unit names then bloated code explorer. So what would show Ctrl+F12 shortcut in such case ? Boguslaw ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
2009/5/7 Bogusław Brandys bran...@o2.pl: In fact we see here old problem of two rights - both groups are right , partially. While it would be nice to have as many nice features placed in one Code explorer as possible - that WILL double windows, because someone not using docking (due to limited free memory for example) will find faster to use Ctrl+F12 to show not bloated window with unit names then bloated code explorer. So what would show Ctrl+F12 shortcut in such case ? Ctrl+F12 is a shortcut for unit list, not procedure list Graeme was talking about. To me, this confusion is yet another argument that number of windows should be reduced ;-) -- Alexander S. Klenin ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
On Thu, May 7, 2009 at 02:25, Hans-Peter Diettrich drdiettri...@aol.com wrote: Graeme Geldenhuys schrieb: The problem with Code Explorer and FPDoc Editor type windows is that they use processing power as you navigate or switch units. Apropos switch units: who made the editor tab shifting almost useless? IMO the scroll buttons should scroll the editor tabs by pages, not activate the next left/right tab. I prefer the current way. I guess that depends on the number of units opened a once -- I usually try not to have too many. -- Alexander S. Klenin ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Zitat von Bogusław Brandys bran...@o2.pl: Graeme Geldenhuys wrote: On Wed, May 6, 2009 at 12:28 PM, Martin Friebe laza...@mfriebe.de wrote: 1) Find procedure should be merged into Code explorer Ok by me. (I never used it :) ) It's partly there anyway. Lets discuss it first - I use procedure list a *lot*. And at the moment it's behaviour is different to code explorer. Regards, - Graeme - Yes.I agree.+1 vote for Graeme :-) In fact we see here old problem of two rights - both groups are right , partially. The code explorer has just starting to get interesting. I don't think it will become a quick search tool. More a gui for exploring and refactoring. While it would be nice to have as many nice features placed in one Code explorer as possible - that WILL double windows, because someone not using docking (due to limited free memory for example) will find faster to use Ctrl+F12 to show not bloated window with unit names then bloated code explorer. The code explorer does not eat much memory as it only shows the content of one unit. I plan more tools like the code browser - that scans whole source trees and need two or three hundred megabytes. But these tools will not be invoked by default and they share the same memory. So what would show Ctrl+F12 shortcut in such case ? Mattias ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Alexander Klenin wrote: 2009/5/7 Bogusław Brandys bran...@o2.pl: In fact we see here old problem of two rights - both groups are right , partially. While it would be nice to have as many nice features placed in one Code explorer as possible - that WILL double windows, because someone not using docking (due to limited free memory for example) will find faster to use Ctrl+F12 to show not bloated window with unit names then bloated code explorer. So what would show Ctrl+F12 shortcut in such case ? Ctrl+F12 is a shortcut for unit list, not procedure list Graeme was talking about. To me, this confusion is yet another argument that number of windows should be reduced ;-) 1) So when you say reduce number of windows: Does that imply reduction of shortcuts too. Or will all the shortcuts be kept, and just switch to the correct tab (including open the window, if not yet open)? 2) There also is an argument for not merging the windows. Someone might want to have both windows open, and see both lists at the same time. I don't use many of them, but it isn't totally unrealistic to assume that someone, might have unit and procedure windows both open? So once a unit was selected you can seltct procedures with no window switching. (Especially people who have 2 or more screens) ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Alexander Klenin wrote: 2009/5/7 Bogusław Brandys bran...@o2.pl: In fact we see here old problem of two rights - both groups are right , partially. While it would be nice to have as many nice features placed in one Code explorer as possible - that WILL double windows, because someone not using docking (due to limited free memory for example) will find faster to use Ctrl+F12 to show not bloated window with unit names then bloated code explorer. So what would show Ctrl+F12 shortcut in such case ? Ctrl+F12 is a shortcut for unit list, not procedure list Graeme was talking about. To me, this confusion is yet another argument that number of windows should be reduced ;-) I know ,it was only an example on not bloated window ;-) Boguslaw ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Mattias Gärtner schrieb: I plan more tools like the code browser - that scans whole source trees and need two or three hundred megabytes. But these tools will not be invoked by default and they share the same memory. The code explorer can be seen as the map in a master-detail view. Then the file list (editor tabs) also could be added to the code explorer. Every (future) editor window should have its own code explorer. BTW, the memory consumption should be a fraction of your estimate, because every node only contains the identifier name and a file reference and position. DoDi ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Alexander Klenin schrieb: IMO the scroll buttons should scroll the editor tabs by pages, not activate the next left/right tab. I prefer the current way. I guess that depends on the number of units opened a once -- I usually try not to have too many. Unit Controls plus the *.inc files does not fit in one page, not to count further relations down into the widgetset. When I need the current project as well, I often have more than 20 files open at the same time. [this is only one argument against the use of include files, and for multiple editor windows ;-] DoDi ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Martin Friebe wrote: div class=moz-text-flowed style=font-family: -moz-fixedAlexander Klenin wrote: I think that while Lazarus IDE has many great features, they are not well organized. Various Lazarus developers added convenience features with a separate user interfaces, so the features are dispersed all over UI and hard to discover. IMHO the good way forward is to consolidate some feature groups into a common UI, thus giving greater exposure to all included features. I realize that may be a controversial topic, as developers might defend their pet features from consolidation, stating that consolidated UI is less convenient than specialized ones, but I think there should be a balance of uniformity versus specialization, and right now this balance is tipped far on the specialization side. If there is a general agreement, I can prepare detailed proposal for consolidation, but as a quick sketch: 1) Find procedure should be merged into Code explorer Ok by me. (I never used it :) ) It's partly there anyway. 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files IMHO, this (point 2) would be even more a specialization. Also I can't see how those 3 relate at all. Anyway, for that lets wait for docking. 3) Unit list (Ctrl+F12) should be merged into Project Inspector 4) Find unused units should be merged into Unit dependencies I was thinking Unit dependencies could also be merged to Project Inspector ... and so on what about: - keybard layouts? - Menu layouts? Best Regards Martin Pleas do not have docking in the UI!!! It might look cool bot it is a pain to use and program. Windows accidentally un-dock and attach to your mouse then end up anywhere so you spend ages trying to get it back to how it was. Much better to use frames to keep it looking how the developer intended. This is also easier to program as all you need to do is change the TForms to TFrames then build the main form at run time. /div ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Dear Mr. Graeme Geldenhuys: I read the documentation mentioned about gif, but really, I dont feel sure to do that. I want to attach the running leopard in my applications. Its possible? thanks in advance, yours truly, Ing. Héctor F. Fiandor hfian...@infomed.sld.cu --- Red Telematica de Salud - Cuba CNICM - Infomed ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
2009/5/6 Héctor Fiandor Rosario hfian...@infomed.sld.cu: I read the documentation mentioned about gif, but really, I dont feel sure to do that. That is only meant for creating animated gifs for the wiki page - not for embedding them into your application. I want to attach the running leopard in my applications. Its possible? It sure is. I did something similar for fpGUI Toolkit, but didn't use animated gifs. Instead I use a composite bitmap. Say your animation is 4 frames. A composite bitmap then consists of 4 images next to each other making one wide image. The animation component then reads the single (wide) image, splits the large image into 4 small ones and simply display them one after the other in a loop with 200ms delay (or whatever the developer choses). The animation component can be viewed using the following url. It should be very simple to port or rewrite this for Lazarus LCL. http://fpgui.git.sourceforge.net/git/gitweb.cgi?p=fpgui;a=blob_plain;f=src/gui/fpg_animation.pas;hb=master PS: I don't think TImage supports animated gifs directly. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
2009/5/6 Héctor Fiandor Rosario hfian...@infomed.sld.cu: I read the documentation mentioned about gif, but really, I dont feel sure to do that. That is only meant for creating animated gifs for the wiki page - not for embedding them into your application. I want to attach the running leopard in my applications. Its possible? It sure is. I did something similar for fpGUI Toolkit, but didn't use animated gifs. Instead I use a composite bitmap. Say your animation is 4 frames. A composite bitmap then consists of 4 images next to each other making one wide image. The animation component then reads the single (wide) image, splits the large image into 4 small ones and simply display them one after the other in a loop with 200ms delay (or whatever the developer choses). The animation component can be viewed using the following url. It should be very simple to port or rewrite this for Lazarus LCL. http://fpgui.git.sourceforge.net/git/gitweb.cgi?p=fpgui;a=blob_plain;f=src/gui/fpg_animation.pas;hb=master PS: I don't think TImage supports animated gifs directly. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Leslie Kaye schrieb: Pleas do not have docking in the UI!!! It might look cool bot it is a pain to use and program. Program what? Windows accidentally un-dock and attach to your mouse then end up anywhere so you spend ages trying to get it back to how it was. This happens only with the bad Delphi defaults, where docking starts immediately. The Lazarus IDE can override that behaviour, as does the Delphi IDE. DoDi ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] IDE UI consolidation (was: Re: lfm as pascal)
Alexander Klenin wrote: If there is a general agreement, I can prepare detailed proposal for consolidation, but as a quick sketch: 1) Find procedure should be merged into Code explorer What is Find procedure? But since I dont use it I am not against :) 2) Find in files, Messages and Code observer should be merged together, with interface most resembling Find in files Code observer shows IDE hints which IDE builds on the fly. Messages appeared only after some actions mostly with compiler. Find in files is also not a process which IDE do without demand. It is difficult to imagine how you want to combine them together. If you want to just add tabs to the Messages window then I am not againts. But maybe just better to dock Code explorer window into source editor? Then you will see Code observer all the time. 3) Unit list (Ctrl+F12) should be merged into Project Inspector How? If you want to remove Ctrl+F12 then I'm againts this change. We all used to it. If you want to extend Project Inspector then it is ok. 4) Find unused units should be merged into Unit dependencies It is a good idea. Generally speaking consolidation idea is not bad. But each case should be discussed. Some cases can be coverted by docking (for example code explorer + source editor), some by merging dialogs (for example compiler options + project options). Please create a wiki page. After few revisions it can become a part of roadmap. Best regards, Paul Ishenin. ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus