Bo Berglund wrote:

Bo, I suggest that you check that your board supports GTK etc. If it doesn't support GTK but it does have basic X graphics then fpGUI might be the least painful option.

Back again so I could read up on this thread...

So basically a widget set is a definition on what kind of graphics
environment is used on the target system then?

No, it's one or more libraries installed on the system which contain all the code to draw standard controls- buttons and so on- on the underlying graphics provided by the operating system. There is a handful of widget sets- Windows, Qt and GTK for example- and a smaller number of underlying graphics subsystems- Windows and X as examples.

Note that in that case there is a part of Windows that implements a widget set, and a part that implements low-level graphics. It's possible to have the Qt widget set (and possibly others) on top of Windows's low-level graphics.

What about making a program for Linux? Do we have to compile the same
program in different versions for different desktop managers on Linux?
Like one for Gnome, another for KDE and yet another for X???
Sounds mighty tedious and error prone...

The LCL provides an interface between your program and the available widget set, all you have to do is set the project options to tell it which to use at which point Lazarus or lazbuild does the work for you. X is a red herring since it's at a lower level than a widget set.

I can't speak for anybody else, but I generally compile for GTK v1, v2, Qt and Windows, depending on the underlying OS. If you set your target file name to something like myproject-$(TargetCPU)-$(TargetOS)-$(LCLWidgetType) Lazarus/lazbuild will create distinct binaries for all combinations, the only gotcha is that you need to make sure that the libraries implementing the widget set are present on the target system.

My first project is to make an embedded application but develop it on
a Windows host where I also want it to be running for checks etc.
This application needs some basic graphics, like using Canvas methods
to draw simple geometric forms on an image.

No. Your first project is a simple form with one button on it that displays "Hello, World!" in a panel. Trust me.

The embedded card is a touch panel from Technologic Systems
(http://www.embeddedarm.com/products/board-detail.php?product=TS-TPC-7390#),
which runs an embedded version of Debian Linux, I believe.
If it supports GTK (what is that?)

I've told you: it's a widget set. And I've told you what a widget set is as well :-)

> or not I don't know but I will ask them.

You don't have to ask them. Run

dpkg --get-selections |grep gtk

and expect to see output something like

libgpod3-nogtk                                  install
libgtk1.2                                       install
libgtk1.2-common                                install
libgtk1.2-dev                                   install
libgtk2.0-0                                     install
libgtk2.0-common                                install
libgtk2.0-dev                                   install
libgtkglext1                                    install
libgtkhtml2-0                                   install
libwxgtk2.6-0                                   install
libwxgtk2.8-0                                   install
pinentry-gtk2                                   install
python-gtk2                                     install

Note the -dev packages, which contain all the development (header etc.) files. If it's a comparatively recent Debian then it will almost certainly have the GTK v2 libraries, if it's an older one it might only have v1. Lazarus currently defaults to v2 of GTK rather than v1, v1 is deprecated with limited support.

If you don't have the libraries or the development packages then installing them is fairly simple. However as recently discussed that's not strictly the role of this mailing list: I'm sure that everybody in here is happy to help, but what a particular reseller is doing with an unspecified version of a standard distro is ultimately not our responsibility.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to