glom r1597 - in trunk: . docs/developer_reference regression_tests



Author: murrayc
Date: Tue Apr 29 14:33:34 2008
New Revision: 1597
URL: http://svn.gnome.org/viewvc/glom?rev=1597&view=rev

Log:
2008-04-29  Murray Cumming  <murrayc murrayc com>

Large refactoring of the Base_DB_* and Box_DB_* hierarchy to make it 
simpler and less hacky.

* docs/developer_reference/Doxyfile: Added this, so you can do 
doxygen Doxyfile to get some HTML to help understand the code.

* glom/signal_reemitter.h: Added signal_connect_for_reemit_*args(), 
to make it easier to just emit a signal in response to another one, 
for instance to emit up to a parent widget.
* regression_tests/Makefile.am:
* regression_tests/test_signal_reemit.cc: Added a test for this.

* glom/Makefile.am:
* glom/base_db.[h|cc]: Split this, to create:
* glom/base_db_table.[h|cc]
* glom/base_db_table_data.[h|cc]: with some stuff from Box_DB_Table.

* glom/box_db.[h|cc]:  Renamed to
* glom/box_withbuttons.[h|cc] because that's all this is now.

* glom/box_db_table.[h|cc]: Derive from Base_DB_Table, instead of 
implementing so much stuff.

* glom/mode_data/Makefile.am:
* glom/mode_data/box_data.[h|cc]: Derive from Box_WithButtons,
        and Base_DB_Table_Data instead of implementing so much stuff.

* glom/mode_data/box_data_details.[h|cc]
* glom/mode_data/box_data_manyrecords.cc[h|cc]: Added this base class 
for:
* glom/mode_data/box_data_list.[h|cc]
and Box_Data_Portal:

* glom/mode_data/box_data_portal.cc[h|cc]: Added this base class 
for 
* glom/mode_data/box_data_calendar_related.[h|cc]
and
* glom/mode_data/box_data_list_related.[h|cc]

* glom/utility_widgets/db_adddel/db_adddel.[h|cc] Derive from 
Base_DB_Table_Data, to use its implementation, to move lots of 
code for record adding, changing, and deleting into this widget instead 
of having decisions in the parent Box_Data_List_Related and Box_Data_List.
This is simpler.

Added:
   trunk/docs/developer_reference/
   trunk/docs/developer_reference/Doxyfile
   trunk/regression_tests/test_signal_reemit.cc
Removed:
   trunk/glom.kdevprj
Modified:
   trunk/ChangeLog
   trunk/regression_tests/Makefile.am

Added: trunk/docs/developer_reference/Doxyfile
==============================================================================
--- (empty file)
+++ trunk/docs/developer_reference/Doxyfile	Tue Apr 29 14:33:34 2008
@@ -0,0 +1,258 @@
+# Doxyfile 1.5.5
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING      = UTF-8
+PROJECT_NAME           = "glom"
+PROJECT_NUMBER         = 
+OUTPUT_DIRECTORY       = 
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = NO
+STRIP_FROM_PATH        = 
+STRIP_FROM_INC_PATH    = 
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = YES
+QT_AUTOBRIEF           = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP         = YES
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                = 
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+BUILTIN_STL_SUPPORT    = NO
+CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+TYPEDEF_HIDES_STRUCT   = NO
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = YES
+EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_LOCAL_METHODS  = NO
+EXTRACT_ANON_NSPACES   = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = NO
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = YES
+SORT_GROUP_NAMES       = NO
+SORT_BY_SCOPE_NAME     = NO
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       = 
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = YES
+SHOW_DIRECTORIES       = YES
+FILE_VERSION_FILTER    = 
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = 
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = ../../glom
+INPUT_ENCODING         = UTF-8
+FILE_PATTERNS          = *.h
+RECURSIVE              = YES
+EXCLUDE                = 
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = */wrap_init.h
+EXCLUDE_SYMBOLS        = 
+EXAMPLE_PATH           = ../../examples
+EXAMPLE_PATTERNS       = *.h \
+                         *.cc
+EXAMPLE_RECURSIVE      = YES
+IMAGE_PATH             = $(DOXYGEN_IMAGE_PATH) \
+                         images/widgets
+INPUT_FILTER           = 
+FILTER_PATTERNS        = 
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = NO
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = NO
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = NO
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = YES
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          = 
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = 
+HTML_FOOTER            = 
+HTML_STYLESHEET        = 
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = NO
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+HTML_DYNAMIC_SECTIONS  = NO
+CHM_FILE               = 
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = YES
+ENUM_VALUES_PER_LINE   = 1
+GENERATE_TREEVIEW      = NO
+TREEVIEW_WIDTH         = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = YES
+XML_OUTPUT             = xml
+XML_SCHEMA             = 
+XML_DTD                = 
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = YES
+EXPAND_ONLY_PREDEF     = YES
+SEARCH_INCLUDES        = NO
+INCLUDE_PATH           = 
+INCLUDE_FILE_PATTERNS  = 
+PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS \
+                         GTKMM_USING_STD(x)= \
+                         GTKMM_API \
+                         GTKMM_ATKMM_ENABLED \
+                         GLIBMM_VFUNCS_ENABLED \
+                         GLIBMM_PROPERTIES_ENABLED \
+                         GLIBMM_EXCEPTIONS_ENABLED \
+                         GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+EXPAND_AS_DEFINED      = 
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = YES
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = YES
+MSCGEN_PATH            = 
+HIDE_UNDOC_RELATIONS   = NO
+HAVE_DOT               = YES
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = NO
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = NO
+INCLUDED_BY_GRAPH      = NO
+CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = 
+DOTFILE_DIRS           = 
+DOT_GRAPH_MAX_NODES    = 50
+MAX_DOT_GRAPH_DEPTH    = 0
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = NO
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO

Modified: trunk/regression_tests/Makefile.am
==============================================================================
--- trunk/regression_tests/Makefile.am	(original)
+++ trunk/regression_tests/Makefile.am	Tue Apr 29 14:33:34 2008
@@ -10,8 +10,11 @@
            -DGLOM_EXAMPLES_DIR=\""$(glom_examples_dir)"\" \
            -DGLOM_ICON_DIR=\""$(glom_icon_dir)"\"
 
-noinst_PROGRAMS = test_parsing_time
+noinst_PROGRAMS = test_parsing_time test_signal_reemit
 
 test_parsing_time_SOURCES = test_parsing_time.cc
 test_parsing_time_LDADD = $(GLOM_LIBS) $(top_builddir)/glom/libglom/libglom.la
 
+test_signal_reemit_SOURCES = test_signal_reemit.cc
+test_signal_reemit_LDADD = $(GLOM_LIBS) 
+

Added: trunk/regression_tests/test_signal_reemit.cc
==============================================================================
--- (empty file)
+++ trunk/regression_tests/test_signal_reemit.cc	Tue Apr 29 14:33:34 2008
@@ -0,0 +1,35 @@
+#include <glom/signal_reemitter.h>
+#include <iostream>
+
+void on_reemit_void()
+{
+  std::cout << "Success: signal_to_reemit_void was emitted when signal_first_emit was emitted." << std::endl;
+}
+
+void on_reemit_int(int param)
+{
+  std::cout << "Success: signal_to_reemit_int was emitted when signal_first_emit was emitted. param=" << param << std::endl;
+}
+
+int main()
+{
+  {
+    sigc::signal<void> signal_first_emit;
+    sigc::signal<void> signal_to_reemit;
+
+    Glom::signal_connect_for_reemit_0args(signal_first_emit, signal_to_reemit);
+    signal_to_reemit.connect( sigc::ptr_fun(&on_reemit_void) );
+
+    signal_first_emit.emit();
+  }
+
+  {
+    sigc::signal<void, int> signal_first_emit;
+    sigc::signal<void, int> signal_to_reemit;
+
+    Glom::signal_connect_for_reemit_1arg(signal_first_emit, signal_to_reemit);
+    signal_to_reemit.connect( sigc::ptr_fun(&on_reemit_int) );
+
+    signal_first_emit.emit(1);
+  }
+}



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