[PATCH 4/4] Add model-view-control example showing synthesised (keypress) events.
Jan Nieuwenhuizen <[email protected]> Sat, 19 Jul 2014 15:41:02 +0200
| Newsgroups | gmane.lisp.guile.gtk |
|---|---|
| Message-ID | <[email protected]> |
CSogZ3RrL2V4YW1wbGVzL212Yy5zY206IEFkZC4KLS0tCiBndGsvZXhhbXBsZXMvbXZjLnNjbSB8 IDE3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IDEgZmlsZSBjaGFuZ2VkLCAxNzYgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNzU1IGd0 ay9leGFtcGxlcy9tdmMuc2NtCgpkaWZmIC0tZ2l0IGEvZ3RrL2V4YW1wbGVzL212Yy5zY20gYi9n dGsvZXhhbXBsZXMvbXZjLnNjbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5k Mjc3N2IwCi0tLSAvZGV2L251bGwKKysrIGIvZ3RrL2V4YW1wbGVzL212Yy5zY20KQEAgLTAsMCAr MSwxNzYgQEAKKyMhIC9iaW4vc2gKKyMgLSotIHNjaGVtZSAtKi0KK2V4ZWMgZ3VpbGUtZ25vbWUt MiAtZSB0ZXN0ICQwICIkQCIKKyEjCisKKzs7IGd1aWxlLWdub21lCis7OyBDb3B5cmlnaHQgKEMp IDIwMTMsMjAxNCBKYW4gTmlldXdlbmh1aXplbiA8amFubmVrZUBnbnUub3JnPgorCis7OyBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y ICAgIAorOzsgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgICAKKzs7IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mICAgCis7OyB0aGUgTGljZW5zZSwgb3IgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gICAgICAgICAgICAgIAorOzsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK Kzs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLCAgCis7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgIAorOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSAgICAKKzs7IEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAgICAgICAgICAgICAgICAgICAgCis7OyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAorOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs IGNvbnRhY3Q6Cis7OworOzsgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uICAgICAgICAgICBWb2lj ZTogICsxLTYxNy01NDItNTk0MgorOzsgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwICAgICAg ICBGYXg6ICAgICsxLTYxNy01NDItMjY1MgorOzsgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNywgIFVT QSAgICAgICBnbnVAZ251Lm9yZworCisKKzs7IFRoaXMgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNl IEd1aWxlIEdub21lIGluIGEgbW9kZWwtdmlldy1jb250b2wKKzs7IHNldHVwLgorCisocmVhZC1z ZXQhIGtleXdvcmRzICdwcmVmaXgpCisKKyhkZWZpbmUgKHRlc3QgLiBhcmdzKQorICAoZXZhbCAn KHRlc3QgKGNvbW1hbmQtbGluZSkpIChyZXNvbHZlLW1vZHVsZSAnKG12YykpKSkKKworKGRlZmlu ZS1tb2R1bGUgKG12YykKKyAgOzsgYmFzZQorICA6dXNlLW1vZHVsZSAoaWNlLTkgYW5kLWxldC1z dGFyKQorICA7OyBvb3BzCisgIDpkdXBsaWNhdGVzIChtZXJnZS1nZW5lcmljcyBsYXN0KQorICA6 dXNlLW1vZHVsZSAob29wIGdvb3BzKQorICA7OyBndGsKKyAgOnVzZS1tb2R1bGUgKGdub21lIGdv YmplY3QpCisgIDp1c2UtbW9kdWxlIChnbm9tZSBnbGliKQorICA6dXNlLW1vZHVsZSAoZ25vbWUg Z3RrIGdkay1ldmVudCkKKyAgOnVzZS1tb2R1bGUgKGdub21lIGd0aykpCisKKyhkZWZpbmUtY2xh c3MgPHRleHQtbW9kZWw+ICg8Z29iamVjdD4pCisgIChidWZmZXIgOmFjY2Vzc29yIC5idWZmZXIg OmluaXQtdmFsdWUgKG1ha2UgPGd0ay10ZXh0LWJ1ZmZlcj4pKQorICAodGV4dCA6YWNjZXNzb3Ig LnRleHQgOmluaXQtdmFsdWUgI2YgOmluaXQta2V5d29yZCA6dGV4dCkKKworICA6Z3NpZ25hbCAn KHF1aXQgI2YpCisgIDpnc2lnbmFsICcoc3BhY2UgI2YpKQorCisoZGVmaW5lLW1ldGhvZCAoaW5p dGlhbGl6ZSAobyA8dGV4dC1tb2RlbD4pIC4gaW5pdGFyZ3MpCisgIChuZXh0LW1ldGhvZCkKKyAg KGxldCAoKGJ1ZmZlciAoLmJ1ZmZlciBvKSkKKyAgICAgICAgKHRleHQgKC50ZXh0IG8pKSkKKyAg ICAoaWYgdGV4dCAoc2V0LXRleHQgYnVmZmVyIHRleHQpKSkKKyAgOzsgS2V5IHNpZ25hbHMKKyAg KGNvbm5lY3QgbyAnc3BhY2UgKGxhbWJkYSAobSkgKHNwYWNlIG8pKSkKKyAgKGNvbm5lY3QgbyAn cXVpdCAobGFtYmRhIChtKSAocSBvKSkpKQorCisMCis7Ozs7IFNpZ25hbCBoYW5kbGVycworKGRl ZmluZS1tZXRob2QgKGtleS1wcmVzcy1oYW5kbGVyIChvIDx0ZXh0LW1vZGVsPikgYmluZGluZ3Mp CisgIChsYW1iZGEgKHcgZXZlbnQpCisgICAgKGFuZC1sZXQqICgoa2V5dmFsIChnZGstZXZlbnQt a2V5OmtleXZhbCBldmVudCkpCisgICAgICAgICAgICAgICAoKGZvcm1hdCAoY3VycmVudC1lcnJv ci1wb3J0KSAia2V5IHByZXNzZWQ6IH5hXG4iIGtleXZhbCkpCisgICAgICAgICAgICAgICAobW9k cyAoZ2RrLWV2ZW50LWtleTptb2RpZmllcnMgZXZlbnQpKQorICAgICAgICAgICAgICAgKC1tb2Qy LW1vZHMgKGZpbHRlciAobmVnYXRlIChsYW1iZGEgKHgpIChlcT8geCAnbW9kMi1tYXNrKSkpIG1v ZHMpKQorICAgICAgICAgICAgICAgKChmb3JtYXQgKGN1cnJlbnQtZXJyb3ItcG9ydCkgIm1vZGlm aWVyczogfmFcbiIgLW1vZDItbW9kcykpCisgICAgICAgICAgICAgICAoa2V5IChjb25zIGtleXZh bCAobGlzdCAtbW9kMi1tb2RzKSkpCisgICAgICAgICAgICAgICAoYXJncyAoYXNzb2MtcmVmIGJp bmRpbmdzIGtleSkpKQorICAgICAgICAgICAgICAoYXBwbHkgZW1pdCAoY29ucyogbyBhcmdzKSkK KyAgICAgICAgICAgICAgI3QpKSkKKworKGRlZmluZSogKG1ha2Uta2V5LXByZXNzLWV2ZW50IDpr ZXkKKwkJCSAgICAgICAod2luZG93ICNmKQorCQkJICAgICAgIChzZW5kICNmKQorCQkJICAgICAg ICh0aW1lIDApCisJCQkgICAgICAgKHN0YXRlIDApCisJCQkgICAgICAgKGtleSAwKQorCQkJICAg ICAgIChod2tleSAwKQorCQkJICAgICAgIChncm91cCAwKSkKKyAgKGxldCAoKHR5cGUgKG1ha2Ug PGdkay1ldmVudC10eXBlPiA6dmFsdWUgJ2tleS1wcmVzcykpKQorICAgIChsaXN0LT52ZWN0b3Ig KGxpc3QgdHlwZSB3aW5kb3cgc2VuZCB0aW1lIHN0YXRlIGtleSBod2tleSBncm91cCkpKSkKKwor KGRlZmluZS1tZXRob2QgKHNwYWNlIChvIDx0ZXh0LW1vZGVsPikpCisgIChmb3JtYXQgKGN1cnJl bnQtZXJyb3ItcG9ydCkgIjxzcGFjZT5cbiIpKQorCisoZGVmaW5lLW1ldGhvZCAocSAobyA8dGV4 dC1tb2RlbD4pKQorICAoZm9ybWF0IChjdXJyZW50LWVycm9yLXBvcnQpICI8cXVpdD5cbiIpCisg IChndGstbWFpbi1xdWl0KSkKKworCisMCis7OzsgR05PTUUgdmlldworKGRlZmluZS1jbGFzcyA8 Z25vbWUtdGV4dC12aWV3PiAoPHRleHQtbW9kZWw+KQorICAobW9kZWwgOmFjY2Vzc29yIC5tb2Rl bCA6aW5pdC12YWx1ZSAjZiA6aW5pdC1rZXl3b3JkIDptb2RlbCkKKyAgKHdpZGdldCA6YWNjZXNz b3IgLndpZGdldCA6aW5pdC12YWx1ZSAobWFrZSA8Z3RrLXNjcm9sbGVkLXdpbmRvdz4pKQorICAo dmlldyAgOmFjY2Vzc29yIC52aWV3IDppbml0LXZhbHVlICNmKSkKKworKGRlZmluZS1tZXRob2Qg KGluaXRpYWxpemUgKG8gPGdub21lLXRleHQtdmlldz4pIC4gaW5pdGFyZ3MpCisgIChuZXh0LW1l dGhvZCkKKyAgKGxldCogKCh3aWRnZXQgKC53aWRnZXQgbykpCisgICAgICAgICAobW9kZWwgKC5t b2RlbCBvKSkKKyAgICAgICAgIChidWZmZXIgKC5idWZmZXIgbW9kZWwpKQorICAgICAgICAgKHZp ZXcgIChtYWtlIDxndGstdGV4dC12aWV3PiA6YnVmZmVyIGJ1ZmZlciA6ZWRpdGFibGUgI2YpKQor CShiaW5kaW5ncworCSBgKCgoLGdkazpzcGFjZSAoKSkgLiAoc3BhY2UpKQorCSAgICgoLGdkazpR ICgpKSAuIChxdWl0KSkgOzsgU2hoLi4uIGRvbid0IHRlbGwsIHdlIHN5bnRoZXNpc2UgdGhpcwor CSAgICgoLGdkazpxIChjb250cm9sLW1hc2spKSAuIChxdWl0KSkKKwkgICAoKCxnZGs6dyAoY29u dHJvbC1tYXNrKSkgLiAocXVpdCkpKSkpCisgICAgKHNldCEgKC52aWV3IG8pIHZpZXcpCisgICAg KGNvbm5lY3QgdmlldyAna2V5LXByZXNzLWV2ZW50IChrZXktcHJlc3MtaGFuZGxlciBvIGJpbmRp bmdzKSkKKyAgICAoYWRkIHdpZGdldCB2aWV3KSkKKyAgKHNob3ctYWxsIG8pCisgIG8pCisKKzs7 IFRoaXMgaXMgYSBzb21ld2hhdCBjb250cml2ZWQgZXhhbXBsZSB0byBzaG93IHRoZSBvcGVyYXRp b24gb2YKKzs7IG1ha2Uta2V5LXByZXNzLWV2ZW50LiAgT2YgY291cnNlLCBzeW50aGVzaXNpbmcg ZXZlbnRzIHdpbGwKKzs7IHR5cGljYWxseSBiZSBkb25lIGJ5IG5vbi1HTk9NRSB2aWV3cywgZS5n LiwgYSBXZWIgdmlldy4KKyhkZWZpbmUtbWV0aG9kIChzcGFjZSAobyA8Z25vbWUtdGV4dC12aWV3 PikpCisgIChuZXh0LW1ldGhvZCkKKyAgKGZvcm1hdCAoY3VycmVudC1lcnJvci1wb3J0KSAic3lu dGhlc2lzaW5nOiBRXG4iKQorICAobGV0KiAoKHZpZXcgKC52aWV3IG8pKQorICAgICAgICAgKHdp ZGdldCAoZ2V0LXBhcmVudCAoZ2V0LXdpbmRvdyB2aWV3KSkpCisgICAgICAgICAoZXZlbnQgKG1h a2Uta2V5LXByZXNzLWV2ZW50IDprZXkgZ2RrOlEgOndpbmRvdyB3aWRnZXQpKSkKKyAgKGVtaXQg dmlldyAna2V5LXByZXNzLWV2ZW50IGV2ZW50KSkpCisKKwwKKzs7OyBndGstd2lkZ2V0IHdyYXBw ZXJzCisoZGVmaW5lLW1ldGhvZCAocGFjay1zdGFydCAodyA8Z3RrLWNvbnRhaW5lcj4pIChvIDxn bm9tZS10ZXh0LXZpZXc+KSAuIHJlc3QpIChhcHBseSBwYWNrLXN0YXJ0IChjb25zKiB3ICgud2lk Z2V0IG8pIHJlc3QpKSkKKyhkZWZpbmUtbWV0aG9kIChzaG93LWFsbCAobyA8Z25vbWUtdGV4dC12 aWV3PikpIChzaG93LWFsbCAoLndpZGdldCBvKSkpCisKKwwKKzs7OyBXZWIgdmlldyAtLSBpbXBs ZW1lbnRhdGlvbiBsZWZ0IGFzIGFuIGV4ZXJjaXNlIGZvciB0aGUgcmVhZGVyCisKKyhkZWZpbmUt Y2xhc3MgPHdlYi13aW5kb3c+ICg8Z2RrLXdpbmRvdz4pCisgIDpnc2lnbmFsIChsaXN0ICdleHBv c2UtZXZlbnQgI2YgPGdkay1ldmVudC1leHBvc2U+KQorICA6Z3NpZ25hbCAobGlzdCAnaGVhZGxl c3MtZXhwb3NlLWV2ZW50ICNmIDxnZGstcmVjdGFuZ2xlPikKKyAgOmdzaWduYWwgKGxpc3QgJ2tl eS1wcmVzcy1ldmVudCAjZiA8Z2RrLWV2ZW50LWtleT4pCisgIDpnc2lnbmFsIChsaXN0ICdidXR0 b24tcHJlc3MtZXZlbnQgI2YgPGdkay1ldmVudC1idXR0b24+KQorICA6Z3NpZ25hbCAobGlzdCAn YnV0dG9uLXJlbGVhc2UtZXZlbnQgI2YgPGdkay1ldmVudC1idXR0b24+KQorICA6Z3NpZ25hbCAo bGlzdCAnc2Nyb2xsLWV2ZW50ICNmIDxnZGstZXZlbnQtc2Nyb2xsPikpCisKKyhkZWZpbmUtY2xh c3MgPHdlYi1zY3JvbGxlZC13aW5kb3c+ICg8d2ViLXdpbmRvdz4pCisgIChvZmZzZXQgOmFjY2Vz c29yIC5vZmZzZXQgOmluaXQtZm9ybSAobGlzdCAwIDApKSkKKworKGRlZmluZS1jbGFzcyA8d2Vi LXRleHQtdmlldz4gKDx0ZXh0LW1vZGVsPikKKyAgKG1vZGVsIDphY2Nlc3NvciAubW9kZWwgOmlu aXQtdmFsdWUgI2YgOmluaXQta2V5d29yZCA6bW9kZWwpCisgICh3aWRnZXQgOmFjY2Vzc29yIC53 aWRnZXQgOmluaXQtdmFsdWUgKG1ha2UgPHdlYi1zY3JvbGxlZC13aW5kb3c+KSkKKyAgKHZpZXcg IDphY2Nlc3NvciAudmlldyA6aW5pdC12YWx1ZSAjZikpCisKKworDAorOzs7OyBUZXN0CisoZGVm aW5lICh0ZXN0IC4gYXJncykKKyAgKGxldCogKChtYWluLXdpbmRvdyAobWFrZSA8Z3RrLXdpbmRv dz4KKwkJCTp0aXRsZSAiTVZDIEV2ZW50LXN5bnRoZXNpc2UgRGVtbyIKKwkJCTp0eXBlICd0b3Bs ZXZlbCkpCisJICh0ZXh0ICIKKworICAgIDxTUEM+ICBzeW50aGVzaXNlIGV2ZW50CisgICAgQy1x ICAgIHF1aXQKKworIikKKyAgICAgICAgIChtb2RlbCAobWFrZSA8dGV4dC1tb2RlbD4gOnRleHQg dGV4dCkpCisJICh2aWV3IChtYWtlIDxnbm9tZS10ZXh0LXZpZXc+IDptb2RlbCBtb2RlbCkpCisJ ICh2Ym94IChtYWtlIDxndGstdmJveD4pKSkKKyAgICAoYWRkIG1haW4td2luZG93IHZib3gpCisg ICAgKHBhY2stc3RhcnQgdmJveCB2aWV3ICN0ICN0IDApCisgICAgKHNldC1kZWZhdWx0LXNpemUg bWFpbi13aW5kb3cgMzAwIDIwMCkKKyAgICAoY29ubmVjdCBtYWluLXdpbmRvdyAnZGVsZXRlLWV2 ZW50IChsYW1iZGEgKHcgZSkgKGd0ay1tYWluLXF1aXQpICNmKSkKKyAgICAoc2hvdy1hbGwgbWFp bi13aW5kb3cpKQorICAoZ3RrLW1haW4pKQotLSAKSmFuIE5pZXV3ZW5odWl6ZW4gPGphbm5la2VA Z251Lm9yZz4gfCBHTlUgTGlseVBvbmQgaHR0cDovL2xpbHlwb25kLm9yZwpGcmVlbGFuY2UgSVQg aHR0cDovL0pveW9mU291cmNlLmNvbSB8IEF2YXRhcsKuICBodHRwOi8vQXZhdGFyQWNhZGVteS5u bCAgCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZ3Vp bGUtZ3RrLWdlbmVyYWwgbWFpbGluZyBsaXN0Cmd1aWxlLWd0ay1nZW5lcmFsQGdudS5vcmcKaHR0 cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vZ3VpbGUtZ3RrLWdlbmVyYWwK