Any one know why a Checkbox gets a different font?
http://stumpy.talios.com/~amrk/dolphin-combo.png All the other presenters use the default font, apart from these two checkboxes... |
"Mark Derricutt" <[hidden email]> wrote in message
news:cjt6h9$[hidden email]... > Any one know why a Checkbox gets a different font? > > http://stumpy.talios.com/~amrk/dolphin-combo.png > > All the other presenters use the default font, apart from these two > checkboxes... You appear to be using a non-standard theme which presumably ignores the font setting. When a theme is enabled any or all of the font, foreground and background colours may be ignored. In fact it is quite common that the background colour is ignored, which makes sense given that themes often use gradient filled backgrounds. I don't know whether this is a bug in this particular theme, or whether its designer decided that the check boxes only looked right with that font (I suspect the former). Regards Blair |
Blair McGlashan wrote:
>particular theme, or whether its designer decided that the check boxes only >looked right with that font (I suspect the former). > > True. Just disabled StyleXP and it's all good. So much for pretending this laptop ran OS/X ;-) |
In reply to this post by talios@gmail.com
Mark Derricutt <[hidden email]> wrote in message news:<cjt6h9$[hidden email]>...
> Any one know why a Checkbox gets a different font? > > http://stumpy.talios.com/~amrk/dolphin-combo.png > > All the other presenters use the default font, apart from these two > checkboxes... Firstly try to display checkboxes without skin/theme software. Dmitry Zamotkin |
In reply to this post by talios@gmail.com
"Mark Derricutt" <[hidden email]> wrote
> True. Just disabled StyleXP and it's all good. So much for pretending > this laptop ran OS/X ;-) Just curious about how you change the defaultStyle for the createStyle of the view of choicePresenter, to make it look like OS/X. What are the parameters? Best regards, kuo |
kuo wrote:
>Just curious about how you change the defaultStyle for the createStyle of >the view of choicePresenter, to make it look like OS/X. What are the >parameters? > > I installed a program called StyleXP which exploits XP's theming and provides extra themes, one of the defaults was a Panther style theme. |
On Wed, 06 Oct 2004 22:28:33 +1300, Mark Derricutt <[hidden email]>
wrote: >I installed a program called StyleXP which exploits XP's theming and >provides extra themes, one of the defaults was a Panther style theme. I see. But I think it would be better if we could know the way to change the theme similarly via Dolphin's programming environment. Does anyone provide the clue to the known-how for the approach? Best regards, Tk Kuo |
"kuo" <[hidden email]> wrote:
> But I think it would be better if we could know the way to change the > theme similarly via Dolphin's programming environment. > Does anyone provide the clue to the known-how for the approach? > Since VW is built with the goal of platform-independent, its GUI windows are using emulated controls and could have multitudes of look and feels by its GUI class architecture, which make it easy to build brand-new customized GUI widgets using its graphic canvas tools ( the above statement was solely from my own personal inference from reading its documentations, which maybe wrong, I'm not familiar with VW at all), I might ask that if Dolphin could follow that way to make the process of creating new widgets easy, so that more new buttons views and controls could be added with the like of Mac, Motif or unique custumized one, not only the Windows default ones . Best regards, Tk Kuo |
"kuo" <[hidden email]> wrote in message
news:[hidden email]... > Since VW is built with the goal of platform-independent, its GUI windows > are using emulated controls and could have multitudes of look and feels by > its GUI class architecture, which make it easy to build brand-new > customized > GUI widgets using its graphic canvas tools ( the above statement was > solely > from my own personal inference from reading its documentations, which > maybe > wrong, I'm not familiar with VW at all), I might ask that if Dolphin > could > follow that way to make the process of creating new widgets easy, so that > more new buttons views and controls could be added with the like of Mac, > Motif or unique custumized one, not only the Windows default ones . I am not very familiar with VW either, I have not looked at it closely in years. I think your understanding of their GUI implementation is probably correct. VW uses emulated UI widgets, and Dolphin uses native widgets in the base system. There is, however nothing stopping anyone from implementing their own emulated widgets in Dolphin. I have done that when I needed very specialized controls. You can see the MoenTreeView for an example of an emulated widget in the base system. There can be a performance impact to using emulated widgets. If you have Smalltalk code completely responsible for drawing a complex emulated widget you may find that it appears slower than the (presumably) highly optimized machine code the OS uses for drawing native widgets. This is not always true, there may be cases where many native widgets can be virtualized by an emulated widget and handled more efficiently. I appreciate the fact that Dolphin uses native widgets. One of the things I did not like about VW (this may have changed in recent versions) is that it did not look like a "normal" windows application when running on Windows. I also could see that the emulated widgets did not repaint as well as native widgets, making the application feel slower. Perhaps I am old fashioned, but for me an important point in a GUI is the consistency of look and feel throughout all applications. I don't like using programs that feel they have to be cute and use a non-standard look and feel. I much prefer function over form in software. I think it is best to use native widgets whenever possible. However if an emulated widget truly adds value to the function of a program than I will use one. Since Windows XP allows the user to change the look of all applications then if a users want to feel like they are using a Mac then they can do that, and it will presumably be consistent across all applications (except those using emulated widgets). Given where MS is going with the Windows UI, truly emulating controls may get more complex as MS adds more and more subtle visual effects to them. I like the fact that Dolphin uses native widgets. The deployed applications look like normal windows programs and have responsive UI's. Additionally when Windows XP came out it was very easy for Dolphin to adopt the XP look. Now if OA decided to support multiple operating systems then it might be worth considering non-native widgets. However even then I prefer the way IBM VAST works, I believe it uses adapters to native widgets on different operating systems. Chris |
Christopher J. Demers wrote:
> VW uses emulated UI widgets, and Dolphin uses native widgets in > the base system. There is, however nothing stopping anyone from > implementing their own emulated widgets in Dolphin. It would be nice, though, if there were an "AbstractView" class above View in the hierarchy. It's difficult to get a feel for what a View's responsibility is (what it's supposed to do) independently of the wiring up to Windows components which forms a large part of the implementation of View. > There can be a performance impact to using emulated widgets. [...] > This is > not always true, there may be cases where many native widgets can be > virtualized by an emulated widget and handled more efficiently. FWIW, I think Bill has used emulated buttons specifically because he can handle large numbers of them more efficiently. > I appreciate the fact that Dolphin uses native widgets. One of the > things I did not like about VW (this may have changed in recent versions) > is that it did not look like a "normal" windows application when running > on Windows. Agreed. -- chris |
"Chris Uppal" <[hidden email]> wrote:
> FWIW, I think Bill has used emulated buttons specifically because he can > handle large numbers of them more efficiently. > Seaching in Bill's D5-goodies-2, I could not find any related packages that use the emulated buttons, maybe they existed for internal use only and are not yet published or they had been revealed in the news group previously. I found the packages that are approximate and interesting to play with maybe the "Pane Holders" package, which could be used to display MVP triads dynamically, but I recognised that it could only support static components. Very nice to dig into this treasure, I'll experiment at my free time. Best regards, Tk Kuo |
In reply to this post by Christopher J. Demers
"Christopher J. Demers" <[hidden email]> wrote in message news:<[hidden email]>...
> "kuo" <[hidden email]> wrote in message > news:[hidden email]... > > Since VW is built with the goal of platform-independent, its GUI windows > > are using emulated controls and could have multitudes of look and feels by > > its GUI class architecture, which make it easy to build brand-new > > customized > > GUI widgets using its graphic canvas tools ( the above statement was > > solely > > from my own personal inference from reading its documentations, which > > maybe > > wrong, I'm not familiar with VW at all), I might ask that if Dolphin > > could > > follow that way to make the process of creating new widgets easy, so that > > more new buttons views and controls could be added with the like of Mac, > > Motif or unique custumized one, not only the Windows default ones . > > I am not very familiar with VW either, I have not looked at it closely in > years. I think your understanding of their GUI implementation is probably > correct. VW uses emulated UI widgets, and Dolphin uses native widgets in > the base system. There is, however nothing stopping anyone from > implementing their own emulated widgets in Dolphin. I have done that when I > needed very specialized controls. You can see the MoenTreeView for an > example of an emulated widget in the base system. > > There can be a performance impact to using emulated widgets. If you have > Smalltalk code completely responsible for drawing a complex emulated widget > you may find that it appears slower than the (presumably) highly optimized > machine code the OS uses for drawing native widgets. This is not always > true, there may be cases where many native widgets can be virtualized by an > emulated widget and handled more efficiently. > > I appreciate the fact that Dolphin uses native widgets. One of the things I > did not like about VW (this may have changed in recent versions) is that it > did not look like a "normal" windows application when running on Windows. I > also could see that the emulated widgets did not repaint as well as native > widgets, making the application feel slower. > > Perhaps I am old fashioned, but for me an important point in a GUI is the > consistency of look and feel throughout all applications. I don't like > using programs that feel they have to be cute and use a non-standard look > and feel. I much prefer function over form in software. I think it is best > to use native widgets whenever possible. However if an emulated widget > truly adds value to the function of a program than I will use one. Since > Windows XP allows the user to change the look of all applications then if a > users want to feel like they are using a Mac then they can do that, and it > will presumably be consistent across all applications (except those using > emulated widgets). Given where MS is going with the Windows UI, truly > emulating controls may get more complex as MS adds more and more subtle > visual effects to them. > > I like the fact that Dolphin uses native widgets. The deployed applications > look like normal windows programs and have responsive UI's. Additionally > when Windows XP came out it was very easy for Dolphin to adopt the XP look. > Now if OA decided to support multiple operating systems then it might be > worth considering non-native widgets. However even then I prefer the way > IBM VAST works, I believe it uses adapters to native widgets on different > operating systems. You can also interact with any other GUI library instead of win32. You can interact with GTK+ or QT, or any other. You need just to create a new QView or GTKView replacement hierarchy. In that way you don't need to implement basic GUI operations. Most of these libraries includes their own theme system and also they are multi platform and highly portable (just thinking on a dolphin port in the future). > > Chris Regards |
"Adri?n Boado" <[hidden email]> wrote in message
news:[hidden email]... > "Christopher J. Demers" <[hidden email]> wrote in > message news:<[hidden email]>... >> Now if OA decided to support multiple operating systems then it might be >> worth considering non-native widgets. However even then I prefer the way >> IBM VAST works, I believe it uses adapters to native widgets on different >> operating systems. > > You can also interact with any other GUI library instead of win32. You > can interact with GTK+ or QT, or any other. You need just to create a > new QView or GTKView replacement hierarchy. In that way you don't need > to implement basic GUI operations. Most of these libraries includes > their own theme system and also they are multi platform and highly > portable (just thinking on a dolphin port in the future). That is actually a rather neat idea, if OA were to support other OS's. I use Gaim (an open source instant messaging program), and it uses GTK+. I seems to work pretty well. The UI emulation is not perfect, sometimes the mouse is black, and sometimes the text caret disappears. However those issues are probably fixable, and the performance seems reasonable. Chris |
In reply to this post by Adri?n Boado
"Adri?n Boado" <[hidden email]> wrote:
> You can also interact with any other GUI library instead of win32. You > can interact with GTK+ or QT, or any other. You need just to create a > new QView or GTKView replacement hierarchy. In that way you don't need > to implement basic GUI operations. Most of these libraries includes > their own theme system and also they are multi platform and highly > portable (just thinking on a dolphin port in the future). Yes, that's right, this is the way that Python and Ruby implement their GUI workhouse as I knew. These GUI libraries are present for a long time and used by those scripting languages though mainly in Unix platform, there are also Windows edition available. They might be quite mature and trusty of wrapping into Dolphin's MVP frameworks to provide users multitude choices if they want more ways of GUI functionalities and styles besides using the "expensive" ActiveX controls or unconvenient Java Swing ( there are CU JNI already done by Chris Uppal). Besides, they were mostly free. OA alreday told they are planning the wrap Scintilla editor ( w32fScintilla.dll) in place of the unstable RichEdit control in the future D6, I think this is the same approach, :-), why not using more? Best regards, Tk Kuo |
In reply to this post by Adri?n Boado
Adri?n Boado wrote:
> You can also interact with any other GUI library instead of win32. You > can interact with GTK+ or QT, or any other. You need just to create a > new QView or GTKView replacement hierarchy. Have you tried this and got anywhere ? I've looked quickly at a couple of these cross-platform UI libraries with a view (cough) to wrapping them up as Dolphin Views, but haven't (yet) found anything that looks suitable. I really haven't tried very hard to find anything, so I could be missing something easy (or difficult;-), or have just failed to think sufficiently hard to see a way of getting around the problems. Two problems that seem to be quite common. One is that damned C++ developers like to assume that every one is programming in C++. So they put a lot of the functionality into C++ classes in ways that can't be accessed from any other language. IIRC the Gnome stuff explicitly does /not/ suffer from this problem. The other is that the GUI frameworks tend to be /frameworks/ -- they expect your code to set up some configuration, maybe even create the odd window, and then pass control to a main loop that is part of the library. The library then calls your code as callbacks, and that is the only way your code is ever run (unless you use other OS-level threads that the library doesn't know about). As far as I know there is no, or no easy and efficient, way of making Dolphin (which runs its own main loop) interact with libraries that are structured this way. Still looking, though. All it needs is for there to be a layer of the library that works by sending "messages" to the application code's main loop, rather than the other way around. Hmm... Perhaps one could use some C++ helper code that handled the callbacks by marshalling the data across to a different OS-thread where Dolphin was running. Or maybe it'd be sufficient to start the library's main loop in a separate OS-thread, and let Dolphin's own cross-thread marshalliing handle it... -- chris |
Free forum by Nabble | Edit this page |