Welcome, Guest. Please login or register.

Author Topic: wxWidgets  (Read 3603 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Hans_Topic starter

wxWidgets
« on: December 14, 2007, 07:50:05 PM »
I was discussing wxWidgets over on AW.net and discovered that Abalaban and Yomgui started a port (well, implementation really) of wxWidgets for Amiga OS (OS4, MOS and 68k). Unfortunately it stagnated as it's a pretty big task.

My interest lies in wanting to write cross-platform code. WxWidgets uses the native widgets of whichever target OS it's on, resulting in a consistent look-and-feel, unlike other toolkits (e.g., look at GTK ports to windows, it doesn't look like a windows program).

Seeing as amiga.org has more 68k, AROS & MOS users than AW.net, I thought I'd ask here if any other developers are interested in continuing the wxWidgets-aos port. Ideally we'd have AOS4, MOS, AROS & AOS-68k developers working on this, so that each OS' build remains up to date. The sourceforge page is here.

Abalaban and Yomgui got wxBase partially done (don't ask me how complete), so there's still much work to be done.

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline Hans_Topic starter

Re: wxWidgets
« Reply #1 on: December 15, 2007, 03:44:34 PM »
Nobody's interested? I had thought that within the larger Amiga community there would be at least a few people interested in this.

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline Hans_Topic starter

Re: wxWidgets
« Reply #2 on: December 17, 2007, 02:41:04 PM »
Quote

Hans_ wrote:
Nobody's interested?


I guess not. :-(
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline McVenco

  • Hero Member
  • *****
  • Join Date: Feb 2006
  • Posts: 1428
    • Show only replies by McVenco
    • http://www.amigascene.nl
Re: wxWidgets
« Reply #3 on: December 17, 2007, 02:55:35 PM »
Quote
I guess not. :-(


I'm interested, but in the completed program. I couldn't code to save my own life so I'm of not much use there :-)
| A4000 | CS-MK3 060@50 | Picasso IV |
| Member of Team Amiga (tm) | FidoNet 2:286/414.18 (long ago) |
| SysOp The Missing Channel BBS | Member of AGA BBS Intl. |
 

Offline da9000

  • Hero Member
  • *****
  • Join Date: Mar 2005
  • Posts: 922
    • Show only replies by da9000
Re: wxWidgets
« Reply #4 on: December 18, 2007, 06:23:16 AM »
Quote

Hans_ wrote:
WxWidgets uses the native widgets of whichever target OS it's on, resulting in a consistent look-and-feel, unlike


That is all true, but it doesn't really work that way in practice. Unfortunately. (for example aMule on the Mac has some very serious visual anomalies and performance issues when scrolling lists, etc).

We used wxWidgets in my last project and it was not fun. A lot of pain. Overall it's not as bad as other things, but it's got lots of gaping holes and inconsistent behaviour and some really subtle bugs.

Couple of things to consider as well:

I wouldn't necessarily call it bloated, but it's big-ish. Also, not so many applications are written with it in mind vs QT or GTK*, which might make those better port targets. Lastly, it's all C++ so it'll need a capable enough compiler (thinking 68k here).

It's probably worth having anyways... just not so excited about it's existance.
 

Offline DrValkyer

  • Jr. Member
  • **
  • Join Date: Dec 2005
  • Posts: 52
    • Show only replies by DrValkyer
Re: wxWidgets
« Reply #5 on: December 18, 2007, 09:50:02 AM »
If wxWidgets port for AOS were completed I would be very pleased. At least then I could port also my personal projects for miggy and use miggy as a dev-platform.  If I had more time to spare I might be also interested in porting wx.

wxWidget is indeed very handy GUI-toolkit but not so newbie friendly or fully complete.  IMHO if we look for free, multiplatform and feature rich toolkit then wx is it.

I could save Aeon, but she will not come. Who will save me?
 

Offline Hans_Topic starter

Re: wxWidgets
« Reply #6 on: December 18, 2007, 02:29:54 PM »
Quote

da9000 wrote:
Quote

That is all true, but it doesn't really work that way in practice. Unfortunately. (for example aMule on the Mac has some very serious visual anomalies and performance issues when scrolling lists, etc).

We used wxWidgets in my last project and it was not fun. A lot of pain. Overall it's not as bad as other things, but it's got lots of gaping holes and inconsistent behaviour and some really subtle bugs.


How long ago was that? And which version of wxWidgets were you using. I'm sure that there are issues, however, it's more consistent than some of the other GUI toolkits out there.

Quote

I wouldn't necessarily call it bloated, but it's big-ish. Also, not so many applications are written with it in mind vs QT or GTK*, which might make those better port targets. Lastly, it's all C++ so it'll need a capable enough compiler (thinking 68k here).


I'm not interested in wxWidgets for the purpose of porting more Linux apps over; I don't care for ports. I'm looking for something that I can use to write new software so that I can easily port it between multiple platform. I don't like GTK or Qt, and wouldn't consider using either of them.

The wxWidgets-aos project compiles on 68k via GCC, so it being C++ is not an issue.

Every toolkit has its quirks; wxWidgets' documentation mentions that certain features are Windows or Mac only. However, wxWidgets looks fairly easy to use. Someone else told me that it was the easiest to use GUI system that he'd tried; better than both Reaction and MUI.

As for the size; it is biggish, but it includes a lot on top of the GUI stuff. It is broken up into modules, so you only need to include the ones that you need. The size is something I'm prepared to live with because I don't have the time to build completely separate GUIs for each platform. That sounds like a support nightmare. The first thing that I'd probably do, would be to write an abstraction layer that uses native widgets on each platform via a common API. I'd pretty much be making my own wxWidgets equivalent. Why not use something that's already there?

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline Hans_Topic starter

Re: wxWidgets
« Reply #7 on: December 18, 2007, 02:34:58 PM »
Quote

DrValkyer wrote:
If wxWidgets port for AOS were completed I would be very pleased. At least then I could port also my personal projects for miggy and use miggy as a dev-platform.  If I had more time to spare I might be also interested in porting wx.


Any help with the port is welcome. All of those involved at the moment have other projects running and can only devote a little time. The link to the project is in the first post in this thread.

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline hardlink

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 586
    • Show only replies by hardlink
Re: wxWidgets
« Reply #8 on: December 18, 2007, 03:19:29 PM »
I just had a look at the sourceforge page, and what's there looks like a good base to build on, for people familiar with C++ and CVS. Unfortunately, all my Amiga programming has been with assembly, Modula-2, and C, using RCS, so I don't think I can be much help for now.
 

Offline da9000

  • Hero Member
  • *****
  • Join Date: Mar 2005
  • Posts: 922
    • Show only replies by da9000
Re: wxWidgets
« Reply #9 on: December 21, 2007, 12:58:41 AM »
Quote

Hans_ wrote:
How long ago was that? And which version of wxWidgets were you using.


As of the first quarter of 2007. At the time we were using the latest version released (primarily Windows platform), but I can't recall the number right now.

Quote

Hans_ wrote:
I'm not interested in wxWidgets for the purpose of porting more Linux apps over; I don't care for ports. I'm looking for something that I can use to write new software so that I can easily port it between multiple platform. I don't like GTK or Qt, and wouldn't consider using either of them.


Aha, well now that your goals are stated clearly, I understand your logic. Yes, wxWidgets makes most sense compared to the other two (although the latest QT is technologically more advanced, albeit much harder to port), especially in light of the lack of another good and readily available choice.

Quote

Hans_ wrote:
The wxWidgets-aos project compiles on 68k via GCC, so it being C++ is not an issue.


Compiles is one thing, runs properly (aka the compiler outputs the right code for what it was asked to compile) is another. I only brought up this matter since the state of the existing project was unknown to me, and this could have been a big issue. If it also runs properly, then that's good news indeed. That makes it even easier.

Quote

Hans_ wrote:
Every toolkit has its quirks... Someone else told me that it was the easiest to use GUI system that he'd tried


Yes, indeed each can have its own issues. Although personally I found wxWidgets obtuse (even in naming conventions, like what's a frame or a window), but then again I was comparing with Cocoa...

Quote

Hans_ wrote:
As for the size; it is biggish, but...The size is something I'm prepared to live with because I don't have the time to build completely separate GUIs for each platform... Why not use something that's already there?


Your logic is... logical :-) I only brought up the size matter, not in the sense of bloat, but more of work needed to do the porting (I hadn't checked the source to see how portable it would be for the Amiga's case, so I used generic intuition, since usually bigger is more complex and thus usually harder, no?) But compared to the other choices it's smaller, and like you verified it's already partially working, so in this case and unless there's nothing smaller and more viable, its size is 'good enough'. So you look set to go.


On a personal note, I'd love to work on porting GNUstep to the Amiga one day. "Nuttin' like it!"
 

Offline Hans_Topic starter

Re: wxWidgets
« Reply #10 on: December 21, 2007, 04:14:23 PM »
Quote

da9000 wrote:
Your logic is... logical :-) I only brought up the size matter, not in the sense of bloat, but more of work needed to do the porting (I hadn't checked the source to see how portable it would be for the Amiga's case, so I used generic intuition, since usually bigger is more complex and thus usually harder, no?) But compared to the other choices it's smaller, and like you verified it's already partially working, so in this case and unless there's nothing smaller and more viable, its size is 'good enough'. So you look set to go.


The port is in its very early stages. It's a partial implementation of the base module, so no GUI stuff yet. It is a big project so I was hoping that more people would be interested in helping out. Fortunately it looks like they've used a pretty good structure and there are several different OSes that can be used as examples. The PalmOS port looks like its in its early stages so it could make a good starting point for the core module (not too much code to rip out to make the starting skeleton code.

Quote

Yes, indeed each can have its own issues. Although personally I found wxWidgets obtuse (even in naming conventions, like what's a frame or a window), but then again I was comparing with Cocoa...


Yes their use of wxWindow as base-class for all visible GUI elements is weird. I wonder if that's an artifact of whatever system they started on. I've seen multiple systems or RAD tools call windows frames, which I think is silly.

Quote

On a personal note, I'd love to work on porting GNUstep to the Amiga one day. "Nuttin' like it!"

I had a quick look at it s website but I'm not completely sure what features it has. The demo did make it look easy to use though. I only shuddered when they opened up vim as editor. ;-)

Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
 

Offline da9000

  • Hero Member
  • *****
  • Join Date: Mar 2005
  • Posts: 922
    • Show only replies by da9000
Re: wxWidgets
« Reply #11 on: January 10, 2008, 09:12:08 PM »
Quote

Hans_ wrote:
The port is in its very early stages. It's a partial implementation of the base module, so no GUI stuff yet. It is a big project so I was hoping that more people would be interested in helping out. Fortunately it looks like they've used a pretty good structure and there are several different OSes that can be used as examples. The PalmOS port looks like its in its early stages so it could make a good starting point for the core module (not too much code to rip out to make the starting skeleton code.


Aha, thanks for the status update. It seems that it'll be a good start, especially if there's some possibility from borrowing from the PalmOS port.


Quote

Hans_ wrote:
Yes their use of wxWindow as base-class for all visible GUI elements is weird. I wonder if that's an artifact of whatever system they started on. I've seen multiple systems or RAD tools call windows frames, which I think is silly.


Agreed 100%. Perhaps it is a vestige of time, as you say.


Quote

Hans_ wrote:
I had a quick look at it s website but I'm not completely sure what features it has. The demo did make it look easy to use though. I only shuddered when they opened up vim as editor. ;-)


Hahaha, understandable! I'm no vi fan either, probably because my first editor discovery was pico when I made my switch to Unix, but I'm a huge fan of Bill Joy (http://en.wikipedia.org/wiki/Bill_Joy), creator extraordineur of vi, BSD, etc. As some of us say: "the other Bill". Other having a positive connotation in this case :-)

As for features, I'm not so sure what you mean, but all the info you need can be found on the web site. Also check out the wikipedia article (http://en.wikipedia.org/wiki/GNUstep) under the "Capabilities" section, and the links section.
 

Offline Caius

  • Sr. Member
  • ****
  • Join Date: Nov 2007
  • Posts: 294
    • Show only replies by Caius
Re: wxWidgets
« Reply #12 on: January 11, 2008, 04:10:51 PM »
Could be an interesting project I guess. C++ is my primary language so it shouldn't be problematic.

Still there are a couple of things holding me back:

1) I have no previous experience with wxWidgets; and
2) I'd never even dream on working on a project of this scale alone. Should probably be at least 3 active developers, since it'd be a hobby project.
Theology is just a debate over who to frame for creating reality.
 

Offline Caius

  • Sr. Member
  • ****
  • Join Date: Nov 2007
  • Posts: 294
    • Show only replies by Caius
Re: wxWidgets
« Reply #13 on: January 11, 2008, 04:11:58 PM »
Oh, btw: Emacs is the ultimate Unix editor  :-D
Theology is just a debate over who to frame for creating reality.
 

Offline da9000

  • Hero Member
  • *****
  • Join Date: Mar 2005
  • Posts: 922
    • Show only replies by da9000
Re: wxWidgets
« Reply #14 on: January 12, 2008, 04:01:07 PM »
Quote

Caius wrote:
Oh, btw: Emacs is the ultimate Unix editor  :-D


Wikipedia begs to differ:

Quote

vi became the de facto standard Unix editor and a nearly undisputed hacker favorite outside of MIT until the rise of Emacs after about 1984. As of 2007 either vi or one of its clones can still be found on nearly all installations of Unix. The Single UNIX Specification specifies vi, so any system conforming to the Single UNIX Specification will have vi.

vi is still widely used by users of Unix variants. About half the respondents in a 1991 USENET poll preferred vi.[1] It starts up faster than the bulkier versions of Emacs and uses less memory. Consequently, even some Emacs fans will resort to it as a mail editor and for small editing jobs. In 1999, Tim O'Reilly, founder of the eponymous computer book publisher, stated that his company sold more copies of its vi book than its emacs book.[3]



BTW, I'm no fan of either (Boxer, an PC/MS-DOS editor is my favorite - could do column marking/blocking/selections!! And had awesome macro functionality), nor do I want to start a religious war, but thought I'd point out the statistical evidence (O'Reilly's numbers, etc) :-)