Solved

Custom GUI (Platform Independent)

Posted on 2004-08-18
8
525 Views
Last Modified: 2013-12-03
Hi all,
What I'm looking for is a clear and consise description of a strategy for developing a custom designed user interface that will be easy to port across to different platforms. I have a some experience in developing Windows apps and that will be my initial choice of platform, but I want to make sure that if it becomes necessary, I can easily port my application across to Unix and other platforms (of which I have very little experience of, hence this question). I'm guessing that developing anything in MFC is a bad move right?!!

So what do people recommend? I'm just asking for an outline of the strategy, and maybe links to any resources that people would think I would find particularly useful.

Regards

Andy
0
Comment
Question by:fxnut
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 3

Assisted Solution

by:Tyrsis
Tyrsis earned 100 total points
ID: 11828755
Hello,

I would suggest giving Borland products a try.  C Builder is a good choice as an alternative to MFC, with the added bonus of Kylix, which you can use to create cross-platform applications to linux.  Also, if you are willing to try Delphi, you are given the added bonus of the freepascal.org project that is porting Delphi and their VCL classes (the base classes which basically wrap system calls) to other platforms including MacOS, etc.  I would suggest investigating it and evaluating it yourself.  As trying to create highly portable code from scratch right from pure system calls and porting it from platform to platform using other methods was a nightmare for myself.  Using delphi it took me less than 5 hours to port a very large project to linux from Windows using Delphi.

Hope this helps!

Tyrsis
0
 
LVL 55

Assisted Solution

by:Jaime Olivares
Jaime Olivares earned 100 total points
ID: 11828782
You can use a portable GUI like wxWindows (wxwidgets.org) or QT (http://www.trolltech.com/products/qt).
You can download both for free, but notice that second one has a big price for commercial windows version licence.
0
 
LVL 3

Accepted Solution

by:
str_ek earned 300 total points
ID: 11828847
delphi/kylix is good as a rad tool, but if you prefer c/c++ there are few quite eazier and more flexible solutions...

wxWindows - http://www.wxwindows.org/
a widgets wrapper lib for us on many platforms... jsut hadle gui threw it (yes there's a lotta lernin' to do) nad only pletform dependant code(like wgl, winapi etc...) is a porting problem, and there is always a way to avoid platform dependency somehow.... so it makes possible to write gui apps with corssplatform enabled code :)

ther are more great x-platfotm gui libs, and many,many more x-platform support libs for wrapping platform specyfic codes, like wgl,xgl ...

one more suggestion
http://www.fltk.org/ - fast lighttool kit, another great gui lib

that'e also a great lib...but it's shredded into many branches, and it makes a little bit difficult to keep yourself up to date and trace changes

there are always other x-platform libs for gui development ... just like the ported gtk, but in my opinion the wisest choise it wxwindows, or fltk..
0
 
LVL 1

Author Comment

by:fxnut
ID: 11829087
Thanks for the quick responses guys. I've checked out the links you posted, and FLTK seems to be a good option. Version 1.2 of FLTK currently in development is going to allow for application "skins", which I would hope will allow me to create a custom look to the interface.

My initial phrasing of my question was a little unclear on what I want to do exactly. Basically, I'm thinking of writing a 3D modelling application and I was wondering how packages like Maya implement their cross platform interfaces. Writing an app like this is would require various custom UI controls and the design and implementation of the architecture is obviously extremely important.

So any 3rd party library would ideally have to support customisable control appearance, custom controls and possibly custom events.

Do the libraries mentioned so far provide this functionality?

0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 11829179
for cross-platform 3d application I recommend you to use any OpenGL wrapper. Take a look at www.sourceforge.com (write "opengl" on the search form)
 
0
 
LVL 3

Expert Comment

by:str_ek
ID: 11829189
peep at efltk (one of branches) as well ;)

and bout fltk and customwidgets take a look at http://www.fltk.org/documentation.php/doc-1.1/subclassing.html#subclassing
with custom events it's a little more complicated problems, but it all can be should be possible to achieve threw widget subclassing
0
 
LVL 3

Expert Comment

by:str_ek
ID: 11829227
fltk provides with a corss-platform opengl wrapper :)
0
 
LVL 1

Author Comment

by:fxnut
ID: 11831546
Thanks guys for your help :-)
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

A theme is a collection of property settings that allow you to define the look of pages and controls, and then apply the look consistently across pages in an application. Themes can be made up of a set of elements: skins, style sheets, images, and o…
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now