Author Topic: GnuCash Script BASIC embedded project  (Read 2775 times)

Offline John

  • Forum Support / SB Dev
  • Posts: 2747
    • ScriptBasic Open Source Project
GnuCash Script BASIC embedded project
« on: April 18, 2014, 08:40:59 AM »
I thought I would get this thread started and maybe get some feedback from the other BASIC developers on the forum. I need to spend some time with the GnuCash source and the plug-in API for adding modules. As mentioned in the GUI makeover thread, the goal is to allow GnuCash users/developers to extended the package with Script BASIC (embedded) without having to recompile the package C source. If you would like to participate in this project, please join the All BASIC mailing list (see open forum board sticky for details) and I will monitor the All BASIC IRC/Chat for questions, suggestions and offers to help.

GnuCash Android App

The GnuCash package is using Gtk Builder (Glade replacement) to define its GUI in XML file format. I'm pondering if maybe using the Script BASIC GTK-Server / generic FFI extension module may be a better choice rather than trying to use IUP. It's been a while since I fired up the old GTK-Server ext. modules but maybe the enhancements I did will now have value.


« Last Edit: April 18, 2014, 09:32:55 AM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 2747
    • ScriptBasic Open Source Project
Re: GnuCash Script BASIC embedded project
« Reply #1 on: April 18, 2014, 10:53:31 AM »
I built Glade from source and after installing it I loaded the GnuCash customer Gtk-Builder screen XML file. The GTK-Server extension module can use Glade / Builder files in its project as well. This is a LINK to where I left off with GTK-Server back in late 2010.



« Last Edit: April 18, 2014, 11:06:56 AM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 2747
    • ScriptBasic Open Source Project
Re: GnuCash Script BASIC embedded project
« Reply #2 on: April 18, 2014, 12:57:53 PM »
Now I remember why I stopped using GTK-Server. Besides the fact Peter (BaCon author) abandoned it, working at the Gtk level is not easy to deal with from a FFI standpoint and using an interpreter. I'm going to go with my original direction and use the tested, supported and proven IUP interface. The GnuCash plug-in API looks easy enough to work with so my first step is to embed Script BASIC and allow scripts to be run from within GnuCash. My next post will hopefully show this working.




Offline Mike Lobanovsky

  • (re)TIRED
  • BASIC Developer
  • Posts: 267
Re: GnuCash Script BASIC embedded project
« Reply #3 on: April 18, 2014, 03:55:27 PM »
Can it be that Gtk Builder was abandoned simply because it targetted Gtk+2 only? Building interfaces with the modern, totally incompatible, Gtk+3 is another pair of shoes, especially when there's almost no documentation on the subject matter available on the net (Doxygen doesn't count).

Now being a Linux guru, can you please comment on how IUP's market share actually compares to Gtk+ these days?
Mike
____________________________________________________________________
(3.6GHz Intel Core i5, 16GB RAM / nVidia GTX 1060Ti , 6GB VRAM / x64 Win7 Ult.)

Offline John

  • Forum Support / SB Dev
  • Posts: 2747
    • ScriptBasic Open Source Project
Re: GnuCash Script BASIC embedded project
« Reply #4 on: April 18, 2014, 04:23:57 PM »
GnuCash is using Gtk2 still. It's single user. The business side was added afterwards. It started off as a personal finance management tool and expanded from there. It's backtracking on it's gObject direction. I'm not a big fan of working with Gtk directly and IUP solves that for me.

Other than the comments above, GnuCash is a nice mom & pop small  business accounting package.

Quote
Can it be that Gtk Builder was abandoned simply because it targetted Gtk+2 only?
GTK-Server was abandoned not Glade (Gtk Builder) I have both Gtk2 and Gtk3 versions of Glade installed. GTK-Server is a FFI (Foreign Function Interface) and targeted towards Gtk developed. (TCP, FIFO, Shared Object, ...) Back in the day (over 10 years ago) GTK-Server was pretty slick allowing scripting languages to tap Gtk and build applications with it. Peter moved on and wrote BaCon and expanded on HUG (Gtk wrapper) in the process. DLLC was born as a replacement for both DYC and GTK-Server. (at least on the Windows side)
« Last Edit: April 18, 2014, 05:21:38 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 2747
    • ScriptBasic Open Source Project
Re: GnuCash Script BASIC embedded project
« Reply #5 on: April 19, 2014, 08:47:46 AM »
GnuCash looks to be a very popular accounting package with over 30K downloads a month from SourceForge. This doesn't include the installs from distributions. I would rather put my efforts into a work-a-like version rather than enhancing or forking the current version. This would be a great way to get Script BASIC into mainstream use.

I might offer a free single user version based on SQLite3 and offer a multi-user / multi-threaded business centric version at a reasonable cost which would include support and upgrades. Too early to forecast what destiny has in mind.  :-X

Offline Mike Lobanovsky

  • (re)TIRED
  • BASIC Developer
  • Posts: 267
Re: GnuCash Script BASIC embedded project
« Reply #6 on: April 19, 2014, 09:09:06 AM »
Thanks for the clarification, John, and good luck with the newly-born baby. :)
Mike
____________________________________________________________________
(3.6GHz Intel Core i5, 16GB RAM / nVidia GTX 1060Ti , 6GB VRAM / x64 Win7 Ult.)