Skip to content
ivmartel edited this page Aug 23, 2016 · 13 revisions

CSnake API

Untill version 3.0, both the old and new API will be provided. Only after 3.0 will we only support the official API. See issue #48 for the end of the support of the old API.

CSnake GUI

On the road towards version 3.0, we want to give some thought to the main GUI and try to make it more user friendly and reduce its complexity. Marteen produced a mock-up available in the development branch. See more in #49...

One idea could be to just have one 'action' button and be able to configure what it does. Based on the configure all button, it could do multiple actions that the user could select from a check box list. That way we get rid of the possible wrong order of actions. That also solves the times when you want to do a configure all but without, for example, configuring the third parties.

Third Parties

The third parties are configured using the main CMakeLists.txt at the root of it. It contains the list of third parties that need to be configured. It would be interesting for CSnake to generate this file depending on the dependencies of the configured project. That would shorten the compilation when the project contains less dependencies. In combination with the use of CMake's External Packages, this would go even further and only download the third parties that are needed by the project. The associated issue is #74.

Some other ideas to improve CSnake

  • Integrate the StartNewModule tool in CSnake. This tools helps configure folders and default files for typical library/GIMIAS plugin development (can be found here),
  • Use the "Overwrite source files" check box of wxGlade by default in the StartNewModule and add a example in the documentation on how to configure de ID used by wxGlade.
  • Improve the documentation of when to press the "Configure third parties" (in the case of people integrating new third parties and the errors it can give).

Implemented ideas

  • With version 2.5 we will introduce the CSnake API in order to normalise the usage of CSnake internals when configuring your project. The methods of the API will be basically those of the csnCilab.py file. Some, too specific for CSnake, will be moved out. To see the progress, please check issue #41 for the introduction of the API.
  • When doing a "Install files to build folder" could only copy the files that have a modification data different from the destination ones -> #20
Clone this wiki locally