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.


Table of Contents

Introduction to the library
Simple example
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
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