{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "chem-bla-ics",
  "description": "Chemblaics (pronounced chem-bla-ics) is the science that uses open science and computers to solve problems in chemistry, biochemistry and related fields.",
  "home_page_url": "https://chem-bla-ics.linkedchemistry.info/",
  "feed_url": "https://chem-bla-ics.linkedchemistry.info/2007/09/02/jchempaint-hack-thon.json",
  "icon": "https://chem-bla-ics.linkedchemistry.info/assets/images/chem-bla-ics_logo.png",
  "language": "en",
  "authors": [
    {
      "name": "Egon Willighagen",
      "url": "https://orcid.org/0000-0001-7542-0286",
      "_orcid": "0000-0001-7542-0286"
    }
  ],
  "items": [

    {
      "id": "https://doi.org/10.59350/xa92q-jv085",
      "url": "https://chem-bla-ics.linkedchemistry.info/2007/09/02/jchempaint-hack-thon.html",
      "title": "A JChemPaint Hack-a-thon",
      "content_html": "<p><a href=\"http://progz-jchem.blogspot.com/\">Niels</a> and I held a JChemPaint <a href=\"http://wiki.cubic.uni-koeln.de/cdkwiki/doku.php?id=jcp_hack_20070902\">hack-a-thon</a>\ntoday (<a href=\"http://moritz.faui2k3.org/irclog/out.pl?channel=cdk;date=2007-09-02\">the IRC log</a>). We had a quite ambitious agenda:</p>\n\n<ul>\n  <li>make the renderer modular</li>\n  <li>make the controller modular</li>\n  <li>make a controller interface with Swing + SWT implementations</li>\n</ul>\n\n<p>All this to make the <a href=\"http://www.mdpi.org/molecules/html/50100093.htm\">JChemPaint</a> editor module of the <a href=\"https://doi.org/10.1021/ci025584y\">CDK</a>\nmore easily integrate with non-Swing widget environments. We achieved to make about 50% of these goals: the controller is now modular, and the\n<a href=\"http://cdk.svn.sf.net/svnroot/cdk/trunk/cdk/src/org/openscience/cdk/controller/Controller2DHub.java\">Controller2DHub</a> (soon going to deprecate\nthe old <a href=\"http://cdk.svn.sf.net/svnroot/cdk/trunk/cdk/src/org/openscience/cdk/controller/Controller2D.java\">Controller2D</a>) no longer receives\nSwing mouse events, but local events by implementing the new <a href=\"http://cdk.svn.sf.net/svnroot/cdk/trunk/cdk/src/org/openscience/cdk/controller/IMouseEventRelay.java\">IMouseEventRelay</a>\ninterface.</p>\n\n<p>Controller modules implement the new <a href=\"http://cdk.svn.sf.net/svnroot/cdk/trunk/cdk/src/org/openscience/cdk/controller/IController2DModule.java\">IController2DModule</a>\ninterface. This modularization allows a clean up of CDK source code, making it more readable and easier to maintain. This was attempted in the past by setting up\nan <a href=\"http://cdk.svn.sf.net/svnroot/cdk/trunk/cdk/src/org/openscience/cdk/controller/AbstractController2D.java\">AbstractController2D</a> and a\n<a href=\"http://cdk.svn.sf.net/svnroot/cdk/trunk/cdk/src/org/openscience/cdk/controller/SimpleController2D.java\">SimpleController2D</a>. The new approach,\nhowever, allows to make separate modules for each rendering mode, which are independent anyway. The old code still needs to be ported to the\nnew architecture, and this is expected to happen in the next two weeks.</p>\n\n<p>Another clean up in the architecture is that the controller modules no longer directly act on the IChemModel, but use a new (badly named)\n<a href=\"http://cdk.svn.sf.net/svnroot/cdk/trunk/cdk/src/org/openscience/cdk/controller/IChemModelRelay.java\">IChemModelRelay</a> interface, making\nthe architecture more closely adhere to the <a href=\"http://en.wikipedia.org/wiki/Model-view-controller\">MVC concept</a>. The IChemModelRelay API\ncurrently contains only two methods, but this is expected to expend considerably, because all current JChemPaint edit actions will\nhave to be passed via this interface.</p>\n\n<p>If you want to give the new architecture a test run, look for the <a href=\"http://cdk.svn.sf.net/svnroot/cdk/trunk/cdk/src/org/openscience/cdk/renderer/progz/TestEditor.java\">TestEditor</a>\napplication. At the time of writing, it uses a demo module, the <a href=\"http://cdk.svn.sf.net/svnroot/cdk/trunk/cdk/src/org/openscience/cdk/renderer/progz/DumpClosestObjectToSTDOUTModule.java\">DumpClosestObjectToSTDOUTModule</a>,\nwhich dumps the nearest IAtom to STDOUT.</p>\n\n<h4>References</h4>\n<div class=\"csl-bib-body\">\n    <div class=\"csl-entry\">Steinbeck, C., Han, Y., Kuhn, S., Horlacher, O., Luttmann, E., &#38; Willighagen, E. (2003). The Chemistry Development Kit (CDK):  An Open-Source Java Library for Chemo- and Bioinformatics. <i>Journal of Chemical Information and Computer Sciences</i>, <i>43</i>(2), 493–500. https://doi.org/10.1021/ci025584y <a href=\"https://doi.org/10.1021/CI025584Y\">CrossRef</a> <a href=\"https://qlever.scholia.wiki/doi/10.1021/CI025584Y\">Scholia</a></div>\n  </div>",
      "summary": "Niels and I held a JChemPaint hack-a-thon today (the IRC log). We had a quite ambitious agenda:",
      
      "date_published": "2007-09-02T00:00:00+00:00",
      "date_modified": "2025-02-16T00:00:00+00:00",
      "tags": ["jchempaint"],
      "_references": [
        
          
          
            { "url": "https://doi.org/10.1021/CI025584Y", "doi": "10.1021/CI025584Y"
             }
            
          
        ],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
