GNOME Calculator ... a library in the making


GNOME calculator is a handy little application. Long story short, it is a calculator application for GNOME as you all know. Written (and rewritten) for GNOME, it includes lexer, parser, and evaluation of expressions, plus a GTK+-based user interface to access the features of the calculation engine. This "engine" currently lives inside the projects' tree lib folder, and is used as a static library for the application. The library seemed fairly well split from the user interface, but it turned out there is a dependency on gtk textview, because of a mathematical equation subclassing Gtk.SourceBuffer (from gtktextview library) for easier handling, which is a subclass of Gtk.TextBuffer (from gtk+). So gtk+ is a transitive dependency of the calculator library. Moreso, the library also has a direct dependency on gtk+ due to having a reference to a Gtk.TextTag for "marking" the answer part of the equation to be able to reuse it and/or find it programatically in the text view or visually by marking it with bold characters.
With all these stated, you can see that if you would like to build a simple console application for evaluating expressions using this library, you would have to pull in gtk and gtksourceview as a dependency, which might not be the best thing to do.
-

- Login or register to post comments
Printer-friendly version- 3126 reads
PDF version
More in Tux Machines
- Highlights
- Front Page
- Latest Headlines
- Archive
- Recent comments
- All-Time Popular Stories
- Hot Topics
- New Members
digiKam 7.7.0 is released
After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release.
|
Dilution and Misuse of the "Linux" Brand
|
Samsung, Red Hat to Work on Linux Drivers for Future Tech
The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world.
Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility.
|
today's howtos
|








.svg_.png)
Content (where original) is available under CC-BY-SA, copyrighted by original author/s.

Recent comments
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago