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

[ANN] Massive StdProp overhaul



Hi all,

  just a quick status update about my massive refactorisation of the StdProp
code. I've added features and features to Jame's code, and I finally added
so much I made a mess out of his work. Enough was enough, so I've made a
major split of what used to be in properties.c.

I've attached here a patch against CVS which shows where I am. Basically,
this compiles, and I can edit the properties of a standard rectangle (that's
all I've tried for the moment). I expect this to break and crash a bit... I
don't expect it to fail compilation under Win32 (I've finally followed the
"registry" approach).

I had to disable the construction of some plug-ins, but I'll fix that before
I commit, hopefully in a few days.

Also, I think I'm going to merge my libxml2/libxml2-in-libxml1 branch into
the CVS tree ; it works very well for me, and nobody out of the singleton 
who downloaded it complained.

While I'm at it, I may introduce xml-i18n-tools to the build process as
well; with UTF-8 capability at the sheet level provided by libxml2, this'll
probably help solve the lack of translations problem.

Back to the stdprop overhaul, here is the provisional changelog entry:

	* lib/properties.[ch]: split in a lot of pieces: 

	* lib/prop_*.[ch] (NEW): all property types are now first-class
	objects, inheriting from the original abstract Property type.
	* lib/propdesc.c (NEW): property description handling routines
	* lib/propoffsets.c (NEW): property offset handling routines
	* lib/proplist.c (NEW): property list handling routines
	* lib/propobject.c (NEW): property list <-> object routines
	* lib/propregistry.c (NEW): holds the PropertyType-->PropertyOps
	relations.
	* lib/propinternals.h: prototypes for stuff not usually needed by 
	the outside of StdProps.
	* lib/Makefile.am: a lot of new files have been added...

	THE ABOVE CHANGES ARE MAJOR CHANGES AND AFFECT THE WHOLE TREE, IN
	BOTH INTERFACES AND RUN-TIME STABILITY.
	
	* objects/Makefile.am: disabled the construction of EML. I'm not
	touching these until a certain issue is solved (or this module
	removed).
	* app/app_procs.c/app_init(): removed a disabled call to a
	non-existent routine. Added a call to stdprops_init().
	
	* app/group.c:	
	* objects/**/*.c: adapted all stdprop-using objects to the
	interface changes.
	
	* app/commands.c: 
	The macros PROP_VALUE_* have disappeared. Adapter to using the new 
	interface.

	* app/disp_callbacks.c: killed a warning.
	* lib/dia_xml.[ch]: sprinkled "const" modifiers. 

	* lib/object.h: removed the incestuous relationship with
	properties.h' contents. Now a Property list is a GPtrArray -->
	object interface change !
	* lib/plug-ins.h: bumped up DIA_PLUGIN_API_VERSION

	* configure.in: added the UNICODE-related progress defines.

	* plug-ins/dxf/dxf-import.c: 
	* plug-ins/xfig/xfig-import.c: 
	* plug-ins/Makefile.am: PROP_VALUE_* macros have been removed. A
	*partial* convertion to the new API has been made, but this is
	still unfinished. In the mean-time, the DXF, XFig, and Python
	plug-ins have been disabled (it's really only temporary). 
	

	-- Cyrille

-- 
Grumpf.

dia-newprops.patch.gz



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] Mail converted by Mofo Magic and the Flying D

 
All trademarks and copyrights are the property of their respective owners.

Other Directory Sites: SeekWonder | Directory Owners Forum

GuideSMACK