[Gtk-sharp-list] TreeModel interface implementation, no patch.

Dmitry Kostenko bis0n@mail.ru
Sat, 23 Oct 2004 21:40:53 +0300


--Boundary-00=_1WqeBBswf2YS/9C
Content-Type: text/plain;
  charset="koi8-r"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hello, all

Maybe I'm late and gtk-sharp already supports gtk interfaces in some 
development version.... nevertheless...

What I attach is a yet another custom implementation of TreeModel interface. 

What I wanted to get.
My primary goal was to get a working implementation of TreeModel without 
patching gtk-sharp. It can be used with binary distribution of gtk-sharp e.g. 
on Windows.

My secondary goal was to try to design a wrapper which can be used with any 
native gtk interface that should/can be implemented in Mono. 

What I did.
As a result I have created a set of extentions to GLib namespace (they are in 
TreeModelWrapper.zip, in TreeModelWrapper directory) and a set of 
classes/structs specific to TreeModel interface (the are in 
TreeModelWrapper/generated directory).
Those specific classes/structs are intended to be generated by gapi-codegen.

I have created a trivial sample and put it into TreeModelSample.zip

What I didn't do.
I didn't play with signals at all. In my sample I created a fake gapi xml file 
and made gapi-codegen generate signal wrappers/events/etc for me. Then I 
changed the code for my needs. Maybe this is a disadvantage, I don't know.

What I kept in mind while designing the wrapper:
1. To implement the interface it is not necessary to derive from some custom 
class (TreeModelBase or similar), only derive from GLib.Object 
(unfortunately, this restriction cannot be removed) and implement the 
interface in Mono.
2. Programmer need not write some special code to initialize the interface. 
I did not show that in the sample, because my primary goal was to avoid 
patching gtk-sharp, but I know, it is possible with changes to GLib.Object 
and code-generator.
3. Delegates are protected by being part of static instance of wrapper class, 
which is never collected by GC.

Concerning point 2. I would like to use WrappedByAttribute on GLib/Gtk 
interfaces to point to wrapper class. When registering a GType, GLib.Object 
would look at Type's interfaces and attach all the wrappers that are needed. 

I would like to discuss the pluses and minuses of the approach.

Thank you in advance for your attention.
-- 
Dmitry Kostenko
.NET Developer
Registered Linux User #286813


--Boundary-00=_1WqeBBswf2YS/9C
Content-Type: application/x-zip;
  name="TreeModelWrapper.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="TreeModelWrapper.zip"

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
AAAAAAAAABsADQAAAAAAAAAQAO1BPQEAAFRyZWVNb2RlbFdyYXBwZXIvZ2VuZXJhdGVkL1VUBQAD
pDR6QVV4AABQSwECFwMUAAAACADLZFcxSs/fDlkDAACuCwAALAANAAAAAAABAAAAoIGLAQAAVHJl
ZU1vZGVsV3JhcHBlci9nZW5lcmF0ZWQvVHJlZU1vZGVsQ2xhc3MuY3NVVAUAA44mekFVeAAAUEsB
AhcDFAAAAAgA62tXMX4rR3jfBQAA/B8AAC4ADQAAAAAAAQAAAKSBQwUAAFRyZWVNb2RlbFdyYXBw
ZXIvZ2VuZXJhdGVkL1RyZWVNb2RlbFdyYXBwZXIuY3NVVAUAA/kyekFVeAAAUEsBAhcDFAAAAAgA
BWJXMdzKgqyQAAAAuAAAAB4ADQAAAAAAAQAAAKSBgwsAAFRyZWVNb2RlbFdyYXBwZXIvR1R5cGVD
bGFzcy5jc1VUBQADWiF6QVV4AABQSwECFwMUAAAACAAKYlcx1Ms7YeAAAABHAQAAIwANAAAAAAAB
AAAApIFkDAAAVHJlZU1vZGVsV3JhcHBlci9HSW50ZXJmYWNlQ2xhc3MuY3NVVAUAA2QhekFVeAAA
UEsBAhcDFAAAAAgAMnxRMf6mtXPeAgAAXQcAABsADQAAAAAAAQAAAKSBmg0AAFRyZWVNb2RlbFdy
YXBwZXIvT2JqZWN0Mi5jc1VUBQADn2ZyQVV4AABQSwECFwMUAAAACAB8BFExS8F3+vYAAADwAQAA
IgANAAAAAAABAAAApIHGEAAAVHJlZU1vZGVsV3JhcHBlci9HSW50ZXJmYWNlSW5mby5jc1VUBQAD
PJRxQVV4AABQSwECFwMUAAAACADnYVcxpvXX8/oGAAD9LwAAFQANAAAAAAABAAAApIEREgAAVHJl
ZU1vZGVsV3JhcHBlci90YWdzVVQFAAMhIXpBVXgAAFBLAQIXAxQAAAAIAC12UTEB3O5zcQAAAH0A
AAAZAA0AAAAAAAEAAACkgVMZAABUcmVlTW9kZWxXcmFwcGVyL01ha2VmaWxlVVQFAANFXHJBVXgA
AFBLAQIXAxQAAAAIAPRzUTFzrup8iQAAAOIAAAAmAA0AAAAAAAEAAACkgRAaAABUcmVlTW9kZWxX
cmFwcGVyL1dyYXBwZWRCeUF0dHJpYnV0ZS5jc1VUBQADHFhyQVV4AABQSwECFwMUAAAACADAfFEx
1fpDcG4AAAAlAQAALAANAAAAAAABAAAApIHyGgAAVHJlZU1vZGVsV3JhcHBlci9UcmVlTW9kZWxX
cmFwcGVyLmRsbC5jb25maWdVVAUAA6dnckFVeAAAUEsFBgAAAAANAA0AqAQAAL8bAAAAAA==

--Boundary-00=_1WqeBBswf2YS/9C
Content-Type: application/x-zip;
  name="TreeModelSample.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="TreeModelSample.zip"

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
PhD7VGpX008N3Oe90p90rzQ2s8VDb1WWaPy2SJxHRHALR5owXH3wVht3WsU34F4Kt92T3dKhLdiu
7cw6dLcafpfvPj70t6O+zcCv575V2D+T352TXy39Nme/FfG6H/rrKa46/lv29I0JsPX+9o55cJV0
91YdK55FOX8pXL4T/gTIseXcjjiyI3UVVa7A2GHMleMUca7MEm90GtNo53V/wacrzHkgWm1pX82u
3bA8k+yflGS7CV3Jtq2s0Ui3nU+PiHu7/jUh4d5ZW/FBX+NoQAwtZHfPzj2ebkHTK71ch683CJlL
3J9QxLZj9GsGrJ7ar4zXM8ffOcf3ZermZH9VBO+H9deVaB3996w2zZ4DXsC6KP6PzDZ8vWv/D1BL
AwQUAAAACAByA1ExDBUJqJAAAAAaAQAAIwAVAFRyZWVNb2RlbFNhbXBsZS9PYmplY3RMaXN0U3Rv
cmUueG1sVVQJAANHknFB3jR6QVV4BADuA+4DbZBJDsMgDEX3nAJxAS4A2WbTqov0AoS6Ei2THG96
+zCpSgevsP7/zzbKZDcxXkpFE2DLxgKvLy0WE7IHwb1b0eBLi5giiG5ugbQ+wNJwX1pzchstlLDE
7JHyo2aDEEmLuSsHbEO7GgrFsX0KXYwEeK+LjhkzPa8IcE438EJ+oeQ/lpJ9+XG6fN8+MSXbl7Ad
UEsDBBQAAAAIAMB8UTHV+kNwbgAAACUBAAArABUAVHJlZU1vZGVsU2FtcGxlL1RyZWVNb2RlbFdy
YXBwZXIuZGxsLmNvbmZpZ1VUCQADp2dyQVYzekFVeAQA7gPuA7NJzs9Ly0wvLUosyczPs+NSULBJ
ycnJTSxQAFK2SjmZSelArGukZ6BroAcUUlIoSSxKTy1BkdIrztczUNLHqjs/KSs1uQSXAQhZPGYk
lmTrGmLVD5XBZz9QRXlmnrERLhcA5SsMDVFcYKOPFigAUEsBAhcDCgAAAAAA92xXMQAAAAAAAAAA
AAAAABAADQAAAAAAAAAQAO1BAAAAAFRyZWVNb2RlbFNhbXBsZS9VVAUAA/E0ekFVeAAAUEsBAhcD
FAAAAAgAfWxRMb3rueGyAQAA4AMAADYADQAAAAAAAQAAAKSBQwAAAFRyZWVNb2RlbFNhbXBsZS9H
dGtTaGFycC5UcmVlTW9kZWxGb3JlYWNoRnVuY05hdGl2ZS5jc1VUBQADDUtyQVV4AABQSwECFwMU
AAAACADua1cxNy+lwdAaAAAASgAAJAANAAAAAAAAAAAA7YFeAgAAVHJlZU1vZGVsU2FtcGxlL1Ry
ZWVNb2RlbFdyYXBwZXIuZGxsVVQFAAP/MnpBVXgAAFBLAQIXAxQAAAAIAH1sUTEBBZo8IwEAAMYB
AAAgAA0AAAAAAAEAAACkgYUdAABUcmVlTW9kZWxTYW1wbGUvT2JqZWN0TWFuYWdlci5jc1VUBQAD
DUtyQVV4AABQSwECFwMUAAAACAB9bFExMOhv+4ICAADVBQAANwANAAAAAAABAAAApIH7HgAAVHJl
ZU1vZGVsU2FtcGxlL1NhbXBsZVNoYXJwLnZvaWRPYmplY3RUcmVlUGF0aFNpZ25hbC5jc1VUBQAD
DUtyQVV4AABQSwECFwMUAAAACAB9bFExkOzgmpgCAABjBgAAPwANAAAAAAABAAAApIHnIQAAVHJl
ZU1vZGVsU2FtcGxlL1NhbXBsZVNoYXJwLnZvaWRPYmplY3RUcmVlUGF0aFRyZWVJdGVyU2lnbmFs
LmNzVVQFAAMNS3JBVXgAAFBLAQIXAxQAAAAIAH1sUTGWO13MqAIAAKoGAABCAA0AAAAAAAEAAACk
gfEkAABUcmVlTW9kZWxTYW1wbGUvU2FtcGxlU2hhcnAudm9pZE9iamVjdFRyZWVQYXRoVHJlZUl0
ZXJpbnRTaWduYWwuY3NVVAUAAw1LckFVeAAAUEsBAhcDFAAAAAgAXGtXMeNhpFxxAAAAigAAABgA
DQAAAAAAAQAAAKSBDigAAFRyZWVNb2RlbFNhbXBsZS9NYWtlZmlsZVVUBQAD8DF6QVV4AABQSwEC
FwMUAAAACAB3dVEx/RTmD2IBAADbAgAAGgANAAAAAAABAAAApIHKKAAAVHJlZU1vZGVsU2FtcGxl
L1Byb2dyYW0uY3NVVAUAA/JackFVeAAAUEsBAhcDFAAAAAgAQmtXMfe5Ll+9CwAAD1QAACIADQAA
AAAAAQAAAKSBeSoAAFRyZWVNb2RlbFNhbXBsZS9PYmplY3RMaXN0U3RvcmUuY3NVVAUAA7wxekFV
eAAAUEsBAhcDFAAAAAgAcgNRMQwVCaiQAAAAGgEAACMADQAAAAAAAQAAAKSBizYAAFRyZWVNb2Rl
bFNhbXBsZS9PYmplY3RMaXN0U3RvcmUueG1sVVQFAANHknFBVXgAAFBLAQIXAxQAAAAIAMB8UTHV
+kNwbgAAACUBAAArAA0AAAAAAAEAAACkgXE3AABUcmVlTW9kZWxTYW1wbGUvVHJlZU1vZGVsV3Jh
cHBlci5kbGwuY29uZmlnVVQFAAOnZ3JBVXgAAFBLBQYAAAAADAAMAKgEAAA9OAAAAAA=

--Boundary-00=_1WqeBBswf2YS/9C--