<blockquote>
<p>DEFINING new GObjects is what is not so common</p>
</blockquote>
<p>It's extremely common, just not in Geany. It makes it much easier for external contributors when the code is idiomatic for the toolkit (ie. using GObject normally). I've been able to study the code for and contribute to a number of projects easily because they used the toolkit in the usual way instead of doing all kinds of ad hoc things.</p>
<p>I don't think signals will be right for most of this stuff, though I'm sure we'll add some (hopefully not jamming more into the GeanyObject singleton god object). At worst we should use our own NiH virtual functions like we do for the plugin API now, IMO, though as <a href="https://github.com/kugel-" class="user-mention">@kugel-</a> mentioned it does make it harder for binding to other languages, even for hand-written bindings like GeanyPy.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/issues/1458#issuecomment-294370586">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJz6NX8v_x6aUVv8DPOsG7-K07mmhks5rwnE7gaJpZM4M1Ajm">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJyFoZexLJKnAt_n24l8bna6V95EFks5rwnE7gaJpZM4M1Ajm.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/issues/1458#issuecomment-294370586"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@codebrainz in #1458: \u003e DEFINING new GObjects is what is not so common\r\n\r\nIt's extremely common, just not in Geany. It makes it much easier for external contributors when the code is idiomatic for the toolkit (ie. using GObject normally). I've been able to study the code for and contribute to a number of projects easily because they used the toolkit in the usual way instead of doing all kinds of ad hoc things.\r\n\r\nI don't think signals will be right for most of this stuff, though I'm sure we'll add some (hopefully not jamming more into the GeanyObject singleton god object). At worst we should use our own NiH virtual functions like we do for the plugin API now, IMO, though as @kugel- mentioned it does make it harder for binding to other languages, even for hand-written bindings like GeanyPy."}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1458#issuecomment-294370586"}}}</script>