[plt-scheme] MrEd GUI

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Apr 27 12:36:39 EDT 2006

At Thu, 27 Apr 2006 17:10:44 +0200 (CEST), Ivanyi Peter wrote:
> I looked at the
> Unix source. I can see that quite a bit of functionality is
> not exported
> towards MrEd. (For example there is a reaised, a sunken, a
> ledged, a
> chiseled and a no border style for the base widgets.) 

This functionality may or may not work. I haven't bothered to keep all
of these options working as I tweaked the widget-drawing code.

> So, would You (the PLT developers) accept patches which work
> only on
> one platform or the concept is that the GUI should work
> everywhere
> in the same way? For example, is it possible that under Unix
> there is
> a border-width option for buttons and under Windows there is
> not?
> Is it a problem if I modify the source for UNIX and Windows,
> but not
> for the MAC?

I would not be inclined to accept most such patches. The lack of
platform consistency is one way to explain it, but the bigger picture
is that programmers shouldn't mess with the look and feel of standard
widgets. 

Windows and old X libraries are bad example APIs; their over-flexible
APIs are perhaps part of the reason that Windows and X looked so bad
for so long. Check out Mac OS, the theme-friendly subset of the Windows
API, or Gtk for better examples; I don't think they have anything like
a configurable border width for a button.

Some high-level properties of a button make sense across
look-and-feels, and I'd happily accept patches to configure those kinds
of properties. (But they won't be of the form "set the border width to
N" or "set the button color to X".)

BTW, I'm not saying that MrEd has the right look-and-feel under Unix.
MrEd should use Gtk to match everything else in the system and to adopt
the user's chosen theme --- but converting to Gtk is a huge effort, and
I think my energy is better spent elsewhere for now. Meanwhile,
improvements to the "default" look-and-feel for MrEd under X would be
very welcome.

> Another little problem, related this that I cannot get the
> same build
> environment for Windows as it is required by different
> workspaces 
> included with the Windows source. Would it be possible that
> someone
> generate Makefiles for the projects. Then I could simply execute
> nmake /f Makefile
> on Windows with any Visual Studio.

I don't quite understand the problem. You can run a Visual Studio build
through the command line, right? Or you can generate Makefiles from
Visual Studio?

Our experience is that keeping makefiles in sync with the project is
huge pain, so we'd really rather not try to distribute Windows
makefiles.

Matthew



Posted on the users mailing list.