Re: [gtkmm] Touch screens and Point of Sale



Ian Michell <ian michell hanzi co uk> writes:

> Just following up on the discussion I started on Linux Point of Sale and
> the state of touch screen devices. I have found that Touchscreens work
> quite well with Linux, (within the limitations of X!).

I'm also working on the same as part of my job, though the PoS part is
proprietary, unfortunately.  However, I will be releasing all of the
widgets under the LGPL.  A GPL/LGPL PoS application would be very
cool.

Have you considered tying it into an accounting backend such as
Gnucash or GNUe?

> I want to know if anyone wants to do a project based on this, as I have
> some cool POS code I am going to release under either the GPL or LGP, so
> obviously I would like comments on the license etc.

I probably wouldn't have time to contribute to it myself, but if it
would be possible to make the project usable as an LGPL library, I may
be able to get work to use it, and be able to contribute in work time.
It depends on how capable it is, and what features it provides.  If
it's better than what I've currently written, it might be possible to
open our source and fold it into your project.

> The POS application is based on GTKMM and is not complete (unless
> you count all the libraries: Plugin Loader (not complete), Database
> Library (multi database support -> not fully implemented) and a few
> other bits and bobs.

I've also written a database library, since I didn't find libgda
mature enough at the time I evaluated it--not well documented, and not
functional enough.  At the expense of being tied completely to
PostgreSQL, I've used libpqxx (Pg C++ binding) and written a library
to work on top of this called libpqxx-object.  libpqxx-object has some
neat features:
  . based on libpqxx and all classes derive from SigC::Object and emit
    changed signals for hooking into e.g. UI code.
  . Implements "object rollback".  All database operations occur
    within transaction blocks and work in a 2-stage process:
    1. Database work with checkpointing of all affected objects.
    2. commit -> all affected objects are refreshed from the database
       to update their state as required, or
       abort -> all affected objects are rolled back to their state
       prior to the transaction.  Then an exception is thrown.
  . All database tables and rows in tables are implemented as classes
    deriving from pqxxobject::table<> and pqxxobject::row<>.
    Checkpointing is implemented in pqxxobject::row<>.
  . I'll be writing some Gtkmm widgets for viewing/manipulating data.
  . PostgreSQL BSD-style licence.
  . Because it uses Postgres natively, you can make use of all the
    extra features: all the PG datatypes, sequences, table
    inheritance, views, triggers and stored procedures.  Table
    relationships can be expressed directly in C++ using inheritance
    and containment.
  . serialisation of whole object hierarchies using INSERT/UPDATE
    or the reverse using SELECT statements (checkpointing occurs at
    the root).
  . convenience classes insert_query and update_query for constructing
    queries from row and field objects.
I'll probably get a project going on GBorg.postgresql.org at some
point.  Some older versions are available at
http://people.debian.org/~rleigh/


Regards,
Roger

-- 
Roger Leigh

                Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]