Vivien Malerba

Abstract

The Libmergeant library aims at making relational database's data easy to manage by providing a complete meta-data dictionnary and several powerfull widgets to build applications upon.


Introduction to the library
Simple example
Database structure
Coding the application
Objects related to the DBMS server
MgConf — Main object: manages all the data dictionnary of the library.
MgServer — Manages the connection to a database server.
MgResultSet — Encapsulates a result set returned by the execution of a SELECT statement
MgServerDataType — Represents a data type in the DBMS
MgServerFunction — Represents a function in the DBMS.
MgServerAggregate — Represents an aggregate in the DBMS (like COUNT() or AVG() for example)
Objects related to the database structure
MgDatabase — Represents a database in the DBMS server
MgDbTable — Represents a table or a view in the database
MgDbField — Represents a field in a table or a view in the database
MgDbConstraint — Represents a constraint within a database
Objects related to queries
General words about queries
General structure of a query
Graphical conventions to represent queries
Query's parameters
Structural requirements for each type of query
Direct SQL queries
MgQuery — Represents any kind of DML query
MgTarget — Represents a target entity within a query.
Query fields
MgJoin — Represents a join between two different entities
MgCondition — Represents a condition within a query
MgParameter — Represents a parameter when needed to execute a query
MgContext — Manages all the MgParameter objects required to execute a query
Interfaces
MgXmlStorage — Interface which provides saving and loading using XML structures
MgDataHandler — Interface which provides data handling capabilities
MgDataEntry — Interface which provides the user with specific widgets to manipulate data
MgEntity — Interface to represent a generic entity (for tables, views or queries)
MgField — Interface to represent a generic field (for tables's fields, etc).
MgRenderer — Interface to get representations of objects as SQL statements, XML nodes or human readable text
MgReferer — Interface to know when on object is completely defined
MgWorkWidget — Interface used to perform common operations on widgets which implement it. The MgWorkForm and MgWorkGrid widgets do implement that interface.
Widgets
MgSelector — Individual selection of libmergeant objects (data types, functions, ...)
MgWorkForm — Form to display and modify data provided by a SELECT query
MgWorkGrid — Grid (tabular view) to display and modify data provided by a SELECT query
MgWorkMatrix — Widget to modify the assoctations between two tables
MgWorkLayout — Widget rendering a MgCustomLayout specification
MgDbmsUpdateViewer — Progress bars for the DBMS update process
MgForm — Simple form layout for the user to fill MgParameter objects
Graphing objects and widgets
MgGraph — Data model to keep graphs' layout
MgGraphItem — Parts of data model used with the MgGraph object.
MgCanvas — Base class for all the GnomeCanvas derived widgets in libmergeant.
MgCanvasDbRelations — Graphical representation of the relations (foreign key constreints) in the database.
MgCanvasItem — Base class for all the GnomeCanvasItem derived widgets in libmergeant.
MgCanvasEntity — Draws a graphical representation of a MgEntity object
MgCanvasField — Draws a graphical representation of a MgField object
MgCanvasTip — Draws a "tooltip" text
MgCanvasCursor — Represents a small cursor used when a drag and drop operations occurs within the canvas
MgCanvasText — Base class for MgCanvasItem objects rendering a MgBase's name as a text
Data handlers
Built in data handlers
Plugins data handlers
Data Entry widgets
Built in
Plugins
Cell Renderers (used in GtkTreeView widgets)
Utility objects
MgRefBase — Used to reference other objects
MgCustomLayout — Object to store the model part of custom layouts
MgGraphviz — Creates .dot files which can then be processed with GraphViz.
MgWorkCore — Creates UPDATE, INSERT and DELETE queries form a SELECT query
Non instantiable objects and widgets
MgBase — The base class for many of the library'objects
MgEntryShell — Provides the necessary button to control ths state of a MgDataEntry
MgEntryWrapper — Abstract class that implements the MgDataEntry interface
Object Hierarchy