Cruisers Forum
 


Reply
  This discussion is proudly sponsored by:
Please support our sponsors and let them know you heard about their products on Cruisers Forums. Advertise Here
 
Thread Tools Search this Thread Rating: Thread Rating: 5 votes, 5.00 average. Display Modes
Old 03-10-2015, 10:32   #1846
Registered User

Join Date: Oct 2015
Posts: 10
Re: Feature Requests

Quote:
Originally Posted by nohal View Post
As far as I can tell, the fact that we use wxQt in the Android port did not bring us any closer to replacing wxWidgets with Qt, the task is still enormous. Do you want to undertake this adventure?
I can't do it completely alone. I'll need some help but I would give it a try.

Quote:
Originally Posted by nohal View Post
There was such an effort once, probably ready to be picked up and completed from https://github.com/ktec/osm_pi
Cool, ! I'll have a look on it and compile it for 4.1.x.
Mr. S is offline   Reply With Quote
Old 03-10-2015, 10:43   #1847
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
Re: Feature Requests

Quote:
Originally Posted by Mr. S View Post
I can't do it completely alone. I'll need some help but I would give it a try.
You are not the first one who has tried this and given up...

Gerhard
CarCode is offline   Reply With Quote
Old 03-10-2015, 12:23   #1848
Registered User

Join Date: Aug 2009
Location: oriental
Boat: crowther trimaran 33
Posts: 4,417
Re: Feature Requests

Quote:
Originally Posted by Mr. S View Post
I can't do it completely alone. I'll need some help but I would give it a try.
I worked on the wxQt port to make opencpn usable with it (enabling android) as this was the shortest path for now.

Long term, I see a different path. If we can discard all of the non-opengl drawing (and ensure opencpn works well enough with a packaged software opengl rendering layer which requires a little bit of work, and possibly some hacks) then we would save a lot of time in development and testing as we have two rendering backends instead of one right now, and already they are diverging (many things are impossible without opengl)

Once opengl is the only rendering required, we have only to port the ui dialogs (mostly options settings etc) and some things with networks sockets to discard wxwidgets completely. The rest is more or less trivial.

But if we simply go to Qt with the same interface, it really seems like a pointless effort to me because we will gain nothing. Also, while it may seem that most applications are Qt these days, I think there is an advantage to avoid it if we have the chance.

Or at least built opencpn into a basic program without any dialogs or gui. Still completely usable but requiring editing the config file to operate. This would be a lean version with minimal dependencies and little ram or cpu usage and quick startup time.

Then provide the settings dialog via a plugin which loads a gui toolkit to provide it. Already we are seeing android specific settings etc... so eventually this type of approach offers more flexibility.

So I see a different path where, maybe we make it possible for plugins to choose and use a toolkit either wxwidgets qt or whatever they want to use. They can easily be written also in any programming language. Maybe they don't need any toolkit, or several etc...
seandepagnier is offline   Reply With Quote
Old 03-10-2015, 18:04   #1849
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,402
Re: Feature Requests

All...

I cannot see any compelling reason to move to Qt. But I can be trained.

Anyone have a short list of reasons why Qt will ( or should ) be better than wx for OpenCPN?

Dave
bdbcat is offline   Reply With Quote
Old 04-10-2015, 02:38   #1850
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
Re: Feature Requests

I only can speak for Mac OS X. Qt is well developed for OS X however wx is still in an early beta state for OS X.

Gerhard
CarCode is offline   Reply With Quote
Old 04-10-2015, 04:12   #1851
Registered User

Join Date: Oct 2015
Posts: 10
Re: Feature Requests

Qt is more flexible than wx. You can use it on more platforms (https://en.wikipedia.org/wiki/List_o...upported_by_Qt) than wx. For example KDE is based on Qt, so Qt applications are running verry fast on KDE (I use Arch Linux with KDE). It is a great chance to port the application to more platforms. It would be nice to have it on a tablet (iPad) on board during a trip. Also, Qt has a lot of classes about maps and routing (Qt Location 5.5). On top Qt is designed with a plugin structure for applications (How to Create Qt Plugins | Qt 5.5) which proviedes a simple development process for plugins.

@boat_alexandra
I like the idea to simplify the program to an OpenGL render application without GUI. This would looks great on fullsceen at a tablet computer.
Mr. S is offline   Reply With Quote
Old 04-10-2015, 06:18   #1852
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
Re: Feature Requests

Furthermore wxWidgets seems to be so bad documentated that even programmers using wx for a long time don't know how to use it correct,
e.g. as thumb rules for sizer flags:
- don't use horizontal alignment flags together with wxEXPAND
- don't use vertical alignment flags together with wxEXPAND
- don't use horizontal alignment flags for horizontal sizers
- don't use vertical alignment flags for vertical sizers

There are other examples as well.

Gerhard
CarCode is offline   Reply With Quote
Old 04-10-2015, 06:27   #1853
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,637
Images: 2
Re: Feature Requests

I am sure programmers will howl at me, but wouldn't it be easier to fix what is wrong with wxwigets and document it?
rgleason is online now   Reply With Quote
Old 04-10-2015, 06:54   #1854
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
Re: Feature Requests

About 2 month ago we have send a fix for the Mac port to the wxWidgets people but it is still not in trunk. So what?

Gerhard
CarCode is offline   Reply With Quote
Old 04-10-2015, 06:57   #1855
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,402
Re: Feature Requests

Gerhard, Mr S., et al...

I see one thing here that Qt might bring us, and that is iOS support quicker than we might otherwise get it. However, please keep in mind that we will never be able to distribute OCPN on the Apple Store, free or otherwise, due to Apple's policies regarding code copyright ownership.

Otherwise, arguments regarding how nice and flexible Qt is are not compelling to me when I consider the user experience. Further, Qt is certainly not bug free, with frequent regression problems since they release more often than wx. Some of the more useful classes are just flat broken, as I discovered in the Android work. Ever tried to work the Qt style sheet architecture?

Of course, for developers, Qt may be an interesting exercise. Nothing wrong with that. If it brings more developers to the OCPN team, that is a good thing.

But I ask again, in all sincerity...

a. What wx Bugs affect OCPN users today?
b. What improvements would Qt bring to OCPN users?

Dave
bdbcat is offline   Reply With Quote
Old 04-10-2015, 07:16   #1856
Registered User

Join Date: Feb 2010
Location: Tierra del Fuego
Boat: Phantom 19
Posts: 6,212
Re: Feature Requests

Mr. S...
I have nothing against Qt, I actually like it a lot for cross platform development of *mobile* applications which also run on desktop as a bonus - it is modern, it is fast developing, it has a few nice features otherwise "hard" to get well in a cross-platform way.
Would I chose it for a *new* cross platform project? Very likely.
But is it really going to bring us something that justifies investing the enormous effort it will take to dump WX and port OpenCPN to it (all the way to converting the last wxString to QString)? I simply don't think so and so far don't see any real technical arguments for the time/effort investment of this size from anybody.

Quote:
Originally Posted by Mr. S View Post
Qt is more flexible than wx. You can use it on more platforms (https://en.wikipedia.org/wiki/List_o...upported_by_Qt) than wx. For example KDE is based on Qt, so Qt applications are running verry fast on KDE (I use Arch Linux with KDE). It is a great chance to port the application to more platforms.
Which new platforms are we interested in and can't get using Qt just as a wxWidgets backend as we already do on Android?
Is Qt really faster than native widgets on all the platforms? Do we have any numbers? I don't use that many apps based on it, basically just zyGrib and qtVLM. Are both of them bad examples or is their GUI and performance what is considered good by you and others? Is QtCreator an app I should refer to as a good example of the advantages of a toolkit that does not use native widgets of the OS? Any other application you consider looking at to fall in love with the concept?
Quote:
It would be nice to have it on a tablet (iPad) on board during a trip.
The problem of not being able to have OpenCPN (Or any other GPL licensed software) on an iPAD is the Apple Store license, nothing technical, as far as I can tell.
Quote:
Also, Qt has a lot of classes about maps and routing (Qt Location 5.5).
What exactly do you think it would bring us - the last time I looked at it there was more or less nothing interesting for an application like OpenCPN, needing flexible offline chart handling.
Quote:
On top Qt is designed with a plugin structure for applications (How to Create Qt Plugins | Qt 5.5) which proviedes a simple development process for plugins.
We already have a plugin system, what exactly would be Qt's advantages here?
Quote:
@boat_alexandra
I like the idea to simplify the program to an OpenGL render application without GUI. This would looks great on fullsceen at a tablet computer.
Yes, this makes more sense to me. Isolate the GUI from the rest of the application. Make the non-GUI components toolkit agnostic (= not depend on Qt, wxWidgets, GTK or whatever else, just stdlib and the like)
Taking this approach will also not make the codebase unusable for anybody but the few people working on the toolkit switch during the whole process.

Pavel
nohal is offline   Reply With Quote
Old 04-10-2015, 07:25   #1857
Registered User

Join Date: Feb 2011
Posts: 1,108
Re: Feature Requests

Date Format in OpenCPN.
Is there a possibility to change the date format and where can we do it?
Bye
P_Dub is offline   Reply With Quote
Old 04-10-2015, 07:28   #1858
Registered User

Join Date: Feb 2010
Location: Tierra del Fuego
Boat: Phantom 19
Posts: 6,212
Re: Feature Requests

Quote:
Originally Posted by CarCode View Post
About 2 month ago we have send a fix for the Mac port to the wxWidgets people but it is still not in trunk. So what?

Gerhard
Gerhard...
We package the libraries with the application, so there is no problem to include the fix in our version. Or do I miss something here?

Pavel
nohal is offline   Reply With Quote
Old 04-10-2015, 12:11   #1859
Registered User

Join Date: Oct 2015
Posts: 10
Re: Feature Requests

Quote:
Originally Posted by nohal View Post
Yes, this makes more sense to me. Isolate the GUI from the rest of the application. Make the non-GUI components toolkit agnostic (= not depend on Qt, wxWidgets, GTK or whatever else, just stdlib and the like)
Taking this approach will also not make the codebase unusable for anybody but the few people working on the toolkit switch during the whole process.
Ok, forget the Qt idea. This is a better solution. An application based on OpenGL and stdlib can be ported to most platforms.
Mr. S is offline   Reply With Quote
Old 07-10-2015, 10:39   #1860
Registered User

Join Date: Oct 2012
Location: Brighton, UK
Boat: Westerly Oceanlord
Posts: 513
Re: Feature Requests

Quote:
Originally Posted by CarCode View Post
Furthermore wxWidgets seems to be so bad documentated that even programmers using wx for a long time don't know how to use it correct
Just to second that (although the topic may be dropped now). It's been a while since I contributed any code (sorry) and latest WX may have changed but I found the networking classes rather limited and restrictive and not very well documented. Can't remember what it was but there was some fairly basic stuff that seemed to be missing. A post on the wx forum turned up the fact that it was there, just undocumented (err...sorry...that's a bit anecdotal isn't it? It was more than a year ago). The version we were using last year didn't seem to support IPv6 which I was thinking of having a bash at, the latest does seem to.

No experience of Qt but a quick glance over the networking classes seems to be a bit more developed than WX, although I honestly haven't studied it in detail.
muttnik is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Yet anothr of my stupid requests Little Otter Multihull Sailboats 2 29-06-2008 23:29
Any requests for pics at Strictly Sail Oakland? Redbull addict Monohull Sailboats 0 30-03-2007 18:33
Capt.Jack requests permission to come aboard canatc1 Meets & Greets 8 10-04-2006 16:54

Advertise Here


All times are GMT -7. The time now is 17:21.


Google+
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Social Knowledge Networks
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

ShowCase vBulletin Plugins by Drive Thru Online, Inc.