Moi & linux

 From:  AdderD
1583.44 In reply to 1583.42 
>You can certainly suggest it, but you'd be wrong! :)
>I have a lot of experience in developing UI, and I can definitely tell you that a markup based UI mechanism is a huge time saver once it is all up and running.
>The big difference is that HTML has a layout mechanism built into it, so the HTML engine handles all the details about expanding entities to fit around text, >stuff like that.
>It's one reason why MoI has some unique features like being able to set a fine-tuned UI scale (any point size can be set, not just "large or small icons"), or >being able to switch to different languages on the fly without restarting the program.
>To try these out, in MoI go to Options / General, and adjust the "UI size" slider, and switch the "Language" dropdown to a different language.
>As far as I know it would be quite difficult to make this same kind of functionality in a Qt app. But if you know of any examples of a Qt app that has similar >functionality please let me know so I can take a look!

That is actually an interesting way to go about it. But, QT can do those sort of things too. I don't have any really good examples to show you at this point but I am in the process of making a cross platform .3DM viewer so maybe I'll implement some dynamic UI scaling and language selection. QT definitely supports translatable user interfaces. I don't know a lot of languages outside of English but I do know some Spanish and German so maybe I could translate a few strings to test this out. In QT you can set interface elements (widgets) to have a certain orientation to each other and the main window and scaling will preserve the relationship. So, I'll try to prove it to you. I think that the best way to demonstrate an ideal is to put your money where your mouth is! ;)

>The other factor is that when I developed MoI it was not like I had everything completely figured out from the very beginning. It was a long drawn out >process to develop the UI and it went through many iterations. It helps to have a very flexible UI system when doing this, and not having to worry about >coding layout makes it much easier to do experiments.
>If I knew from the very beginning exactly how I wanted the UI to be set up, it would have been more possible to do it in a more "hard coded" kind of fashion >(which is what happens when you rely more on C++ code to form the UI instead of markup), but that totally ignores the actual design process of iteration >and experimentation.

Yes, that's totally expected and normal. Hindsight is always 20/20 and nobody every does everything the best way on their first try. Development is an iterative process. Also, development tools change over time.


>Yes, that's pretty cool and I am actually planning on trying it out, especially since they have WebKit along with it.
>However, the LGPL release is something that literally happened a few weeks ago. Meanwhile I started on MoI 5 years ago. So I'm not sure how I would >have made use of a brand new thing when I needed it 5 years ago? :)
>Anyway those are some of the issues...
>The main thing to keep in mind is that, yes it is great that Qt now has LGPL, but if it didn't when a project was started that does not help a whole lot.

Yes, it just went LGPL so that really would not have helped much 5 years ago. 5 years ago QT existed but it was nowhere near as good or full featured as it is today. Of course, MFC was crap back then too... So it sounds like 5 years ago you almost certainly did make the right decision. However, today being cross platform might actually be important. I'll grant you that 5 years ago linux was only a server OS and macs were not as important a market segment as they are today. Today I'm hoping to influence as many developers as I can to code in a cross platform manor. I'm a major cross platform zealot on the rhino forum too. So much so that I started to develop the aforementioned cross platform 3dm viewer (with QT).