JWE Project Ideas: Difference between revisions

Jump to navigation Jump to search
m
m (→‎GUI command window: Add wiki link)
(3 intermediate revisions by one other user not shown)
Line 8: Line 8:
would be more flexible and reliable.
would be more flexible and reliable.


=== GUI command window ===
=== [[GUI terminal widget|GUI command window]] ===


The implementation of the GUI command window for Unix-like systems
The implementation of the GUI command window for Unix-like systems
Line 36: Line 36:
* Performance issues
* Performance issues
* Lack of WYSIWYG
* Lack of WYSIWYG
* Duplication of effort with FLTK and Qt widgets.  With the rest
* Duplication of effort with FLTK and Qt widgets.  With the rest of
of the GUI using Qt widgets, we should eliminte the FLTK plotting
* the GUI using Qt widgets, we should eliminte the FLTK plotting widget.  To do that, we will need to make the Qt plotting widget work when Octave is started with --no-gui and ensure that all features in the FLTK widget are also present in the Qt widget.
widget.  To do that, we will need to make the Qt plotting widget
work when Octave is started with --no-gui and ensure that all
features in the FLTK widget are also present in the Qt widget.


=== Improvements to classdef (the Matlab object-oriented programming framework) ===
=== Improvements to classdef (the Matlab object-oriented programming framework) ===
Line 46: Line 43:
* Resolve remaining Matlab compatibility issues.
* Resolve remaining Matlab compatibility issues.
* Make it possible to load and save classdef objects.
* Make it possible to load and save classdef objects.
* Improve and simplify the implementation.  Although the basic
* Improve and simplify the implementation.  Although the basic features that are implemented now appear to mostly work, the implementation seems overly complicated, making it difficult to debug and modify.  There seems to be quite a bit of room for improvement here.
  features that are implemented now appear to mostly work, the
  implementation seems overly complicated, making it difficult to
  debug and modify.  There seems to be quite a bit of room for
  improvement here.


=== String class ===
=== String class ===


* Matlab now uses "" to create string objects that behave
Matlab now uses "" to create string objects that behave differently from Octave double-quoted strings.
  differently from Octave double-quoted strings.


=== Handle UTF-8 (or whatever) characters properly ===
=== Handle UTF-8 (or whatever) characters properly ===


* Try to do this in a Matlab-compatible way.
Try to do this in a Matlab-compatible way.


=== Handle single and integer values for ranges ===
=== Handle single and integer values for ranges ===
Line 96: Line 88:
* Use C++11 features where possible.
* Use C++11 features where possible.
* Better and more complete use of C++ namespaces.
* Better and more complete use of C++ namespaces.
* Better use of C++ features.  Especially standard library features
* Better use of C++ features.  Especially standard library features as their implementation becomes more widely available.  For example, we might be able to simplify some things in Octave by using the C++17 filesystem and special functions libraries, if they provide results that are at least as good what we are using now.
  as their implementation becomes more widely available.  For
* Eliminate C preprocessor macros where possible
  example, we might be able to simplify some things in Octave by
  using the C++17 filesystem and special functions libraries, if
  they provide results that are at least as good what we are using
  now.
 
=== Eliminate C preprocessor macros where possible ===


=== GUI code editor ===
=== GUI code editor ===
Line 112: Line 98:
=== Documentation ===
=== Documentation ===


* Continue to improve Doxygen documentation for Octave internals to
* Continue to improve Doxygen documentation for Octave internals to make it easier for new contributors to understand the Octave code base.
  make it easier for new contributors to understand the Octave code
  base.


=== JIT compiler ===
=== JIT compiler ===
214

edits

Navigation menu