From: <pko...@me...> - 2001-05-06 09:05:50
|
Hello, has anyone an approach how to use Win32::GUI with the Model-View-Controller (MVC) principle? Or if that would be impossible: What would be the best way to separate business code and gui? Sincerely Peter |
From: Johan L. <jp...@bo...> - 2001-05-07 05:04:25
|
Peter wrote: >has anyone an approach how to use Win32::GUI with the Model-View-Controller >(MVC) principle? Or if that would be impossible: What would be the best way >to separate business code and gui? In a previous Win32::GUI app I provided both a CLI and a GUI interface. I used one class for the actual application/business logic, one base class for the abstract UI and one subclass each for the CLI and the GUI interface (that is basically a variation of the Model-View-Controller pattern with the View and Controller merged). The interfaces between the app/GUI-classes had to evolve a lot during implementation since I didn't anticipate many of the interactions between the app and the UI. An interesting observation is that the actual business logic was kind of small compared to the UI code. I designed the UI subclass for Win32::GUI as a singleton to avoid all the global vars. Ideally I would like to see the option of subclassing e.g. Win32::GUI::Window and have the event methods called as methods on that object instead; the singleton is really just a workaround for that. /J -- Johan Lindström, Sourcerer, Boss Casinos Ltd, Antigua jp...@bo... |
From: <pko...@me...> - 2001-05-16 13:17:22
|
Hello, has anyone an idea of the parameters in the ToolBar::AddButtons method? The example toolbar.pl does the following: $TB->AddButtons( 3, 0, 1, 4, 0, 0, 1, 2, 4, 0, 1, 2, 3, 4, 0, 2, ); What is the meaning of the parameters and is it possible to make toolbar items disabled? Can disabled toolbar items have another image? (I need something like the speedbars in Office Applications). Sincerely, Peter |
From: <se...@la...> - 2001-05-16 13:31:11
|
A long time ago, I went through and figured this out. Luckily, I saved the results as a comment in my toolbar.pl file. Here's what I have: # first row is the number of buttons in this toolbar # each additional row corresponds to a button # first number is the zero-based index of the appropriate picture from the= bitmap object # second number is the number that will be passed to the _Click event # third number is the state of the button # -0 dark gray can't be clicked # -1 light gray & sunken can't be clicked # -2 dark gray & sunken can't be clicked # -3 light gray & sunken can't be clicked # -4 normal # -5 light & sunken can be clicked # -6 normal & sunken if clicked becomes normal # -7 light & sunken can be clicked # fourth number is the visibility # -even visible # -odd invisible # fifth number is the zero-based index of the string that should accompany= the button That last comment refers to the $TB->AddString statements in the file, in the order that they were declared. I'm sure it must be possible to disable toolbar buttins on the fly, but I don't know how (perhaps sending a message, a la the RichEdit workarounds that we've seen on this list). On 16 May 2001, at 15:17, Peter K=F6ller wrote: > Hello, > > has anyone an idea of the parameters in the ToolBar::AddButtons > method? > > The example toolbar.pl does the following: > > $TB->AddButtons( > 3, > 0, 1, 4, 0, 0, > 1, 2, 4, 0, 1, > 2, 3, 4, 0, 2, > ); > > What is the meaning of the parameters and is it possible to make > toolbar items disabled? Can disabled toolbar items have another image? > (I need something like the speedbars in Office Applications). > |
From: <pko...@me...> - 2001-05-16 15:41:24
|
se...@la... wrote: > A long time ago, I went through and figured this out. Luckily, I > saved the results as a comment in my toolbar.pl file. Thanks for the comment. This was a great help! > I'm sure it must be > possible to disable toolbar buttins on the fly, but I don't know how > (perhaps sending a message, a la the RichEdit workarounds that we've > seen on this list). If I can't figure it out, then I tell the user "Don't press this toolbar button at this time :-)" LOL But I hope that there is a better solution. Peter |