[Gtk-sharp-list] Exposing class/signal name mapping

Mathias Hasselmann mathias.hasselmann@gmx.de
Mon, 4 Nov 2002 16:31:03 +0100 (CET)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--8323328-709909531-1036423698=:2270
Content-Type: TEXT/PLAIN; charset=US-ASCII
Content-ID: <Pine.LNX.4.44.0211041630341.2872@localhost.localdomain>

Hi,

Out of being bored I've hacked a tiny tool postprocessing glade output for
Gtk#: Signal handler names are camelizes, stubs for signal handlers are
generated. A problem occured on generating the stubs is that I haven't
found a reliable way to map Gtk+ class or signal names to Gtk#
class/signal names.

A solution that could work for me, would be a enhancing the interface of 
GtkSharp.ObjectManager to expose mangled class names or type information 
for Gtk+ class names (see the attached patch for details). Signal mappings 
could be extracted then by scaning the events of the returned type for 
matching GtkSharp.Signal attributes...

Unless there a better suggestion is made I'd like to see the patch merged 
into the mainstream of Gtk#.

Ciao,
Mathias

--8323328-709909531-1036423698=:2270
Content-Type: TEXT/PLAIN; charset=us-ascii; name="ObjectManager.cs.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.44.0211041628180.2270@localhost.localdomain>
Content-Description: The patch
Content-Disposition: attachment; filename="ObjectManager.cs.diff"

SW5kZXg6IGdsaWIvT2JqZWN0TWFuYWdlci5jcw0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KUkNTIGZpbGU6IC9tb25vL2d0ay1zaGFycC9nbGliL09iamVj
dE1hbmFnZXIuY3Msdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjYNCmRpZmYg
LXUgLXUgLXIxLjYgT2JqZWN0TWFuYWdlci5jcw0KLS0tIGdsaWIvT2JqZWN0
TWFuYWdlci5jcwk1IE9jdCAyMDAyIDA1OjExOjU5IC0wMDAwCTEuNg0KKysr
IGdsaWIvT2JqZWN0TWFuYWdlci5jcwk0IE5vdiAyMDAyIDE1OjIzOjAzIC0w
MDAwDQpAQCAtMSw0ICsxLDUgQEANCiAvLyBHZW5lcmF0ZWQgRmlsZS4gIERv
IG5vdCBtb2RpZnkuDQorLy8gLS0tLS0tLS0tLS0tLS0tIGlzIHRoYXQgc3Rp
bGwgdHJ1ZT8gaSBkb3VidC4uLg0KIC8vIDxjPiAyMDAxLTIwMDIgTWlrZSBL
ZXN0bmVyDQogDQogbmFtZXNwYWNlIEd0a1NoYXJwIHsNCkBAIC0xMiwyMSAr
MTMsMzcgQEANCiANCiAJCXByaXZhdGUgc3RhdGljIEhhc2h0YWJsZSB0eXBl
cyA9IG5ldyBIYXNodGFibGUgKCk7DQogDQorICAgICAgICAgICAgICAgIC8v
LyA8c3VtbWFyeT5RdWVyeSB0aGUgbWFuZ2xlZCBDIyBjbGFzcyBuYW1lIHJl
cHJlc2VudGluZyBhIA0KKyAgICAgICAgICAgICAgICAvLy8gZ2l2ZW4gR3Rr
KyBjbGFzcy48L3N1bW1hcnk+DQorICAgICAgICAgICAgICAgIC8vLyA8cGFy
YW0gbmFtZT0idHlwZW5hbWUiPlRoZSBHdGsrIGNsYXNzIHRvIHJlc29sdmUu
PC9wYXJhbT4NCisgICAgICAgICAgICAgICAgLy8vIDxyZXR1cm5zPlRoZSBD
IyBjbGFzcyBuYW1lIG9mIGEgR3RrKyBjbGFzcy48L3JldHVybnM+DQorICAg
ICAgICAgICAgICAgIHB1YmxpYyBzdGF0aWMgc3RyaW5nIEdldE1hbmdsZWRU
eXBlTmFtZSAoc3RyaW5nIHR5cGVuYW1lKQ0KKyAgICAgICAgICAgICAgICB7
DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gKE9iamVjdE1hbmFnZXIu
dHlwZXMuQ29udGFpbnNLZXkgKHR5cGVuYW1lKSkNCisgICAgICAgICAgICAg
ICAgICAgICAgICA/IChzdHJpbmcpIE9iamVjdE1hbmFnZXIudHlwZXNbdHlw
ZW5hbWVdDQorICAgICAgICAgICAgICAgICAgICAgICAgOiBPYmplY3RNYW5h
Z2VyLkdldEV4cGVjdGVkICh0eXBlbmFtZSk7DQorICAgICAgICAgICAgICAg
IH0NCisNCisgICAgICAgICAgICAgICAgLy8vIDxzdW1tYXJ5PlF1ZXJ5IGlu
Zm9ybWF0aW9uIGFib3V0IHRoZSBtYW5hZ2VkIEd0ayMgY2xhc3MgDQorICAg
ICAgICAgICAgICAgIC8vLyByZXByZXNlbnRpbmcgYSBnaXZlbiBHdGsrIGNs
YXNzLjwvc3VtbWFyeT4NCisgICAgICAgICAgICAgICAgLy8vIDxwYXJhbSBu
YW1lPSJ0eXBlbmFtZSI+VGhlIEd0aysgY2xhc3MgdG8gcmVzb2x2ZS48L3Bh
cmFtPg0KKyAgICAgICAgICAgICAgICAvLy8gPHJldHVybnM+SW5mb3JtYXRp
b24gYWJvdXQgdGhlIG1hbmFnZWQgdHlwZSBvciBudWxsIGlmIA0KKyAgICAg
ICAgICAgICAgICAvLy8gbm8gbWFwcGluZyBleGlzdHMuPC9yZXR1cm5zPg0K
KyAgICAgICAgICAgICAgICBwdWJsaWMgc3RhdGljIFR5cGUgR2V0TWFuYWdl
ZFR5cGUgKHN0cmluZyB0eXBlbmFtZSkNCisgICAgICAgICAgICAgICAgew0K
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFR5cGUuR2V0VHlwZSAoR2V0
TWFuZ2xlZFR5cGVOYW1lICh0eXBlbmFtZSkpOw0KKyAgICAgICAgICAgICAg
ICB9DQorDQogCQlbRGxsSW1wb3J0KCJndGtzaGFycGdsdWUiKV0NCiAJCXN0
YXRpYyBleHRlcm4gc3RyaW5nIGd0a3NoYXJwX2dldF90eXBlX25hbWUgKElu
dFB0ciByYXcpOw0KLQ0KKyAgICAgICAgICAgICAgICANCiAJCXB1YmxpYyBz
dGF0aWMgR0xpYi5PYmplY3QgQ3JlYXRlT2JqZWN0IChJbnRQdHIgcmF3KQ0K
IAkJew0KIAkJCWlmIChyYXcgPT0gSW50UHRyLlplcm8pDQogCQkJCXJldHVy
biBudWxsOw0KIA0KIAkJCXN0cmluZyB0eXBlbmFtZSA9IGd0a3NoYXJwX2dl
dF90eXBlX25hbWUgKHJhdyk7DQotCQkJc3RyaW5nIG1hbmdsZWQ7DQotCQkJ
aWYgKHR5cGVzLkNvbnRhaW5zS2V5KHR5cGVuYW1lKSkgDQotCQkJCW1hbmds
ZWQgPSAoc3RyaW5nKXR5cGVzW3R5cGVuYW1lXTsNCi0JCQllbHNlDQotCQkJ
CW1hbmdsZWQgPSBHZXRFeHBlY3RlZCAodHlwZW5hbWUpOw0KLQkJCVR5cGUg
dCA9IFR5cGUuR2V0VHlwZSAobWFuZ2xlZCk7DQorCQkJVHlwZSB0ID0gR2V0
TWFuYWdlZFR5cGUgKHR5cGVuYW1lKTsNCiANCiAJCQkvLyBpZiBudWxsLCB0
cnkgdG8gZ2V0IGEgcGFyZW50IHR5cGUNCiAJCQlpZiAodCA9PSBudWxsKQ0K

--8323328-709909531-1036423698=:2270--