viktor-podzigun / charva-lanterna

CHARVA UI through lanterna terminal
GNU Lesser General Public License v3.0
12 stars 3 forks source link

Missing class TableColumn #5

Open lucafavatella opened 8 years ago

lucafavatella commented 8 years ago

Subtitle: [RFC] Proposed Milestone for charva-lanterna: Compile IntelliJ IDEA 146.975 using charva-lanterna (more details below...)

Description - Missing class TableColumn

Class charvax.swing.table.TableColumn is missing. Confusingly, class JTable is present in charva-lanterna, refers to TableColumn in the doc and has some TableColumn-related code commented out - ref.

What would the accepted way of dealing with these cases in charva-lanterna be?

  1. Stub TableColumn class returning dummy values?
  2. Delete JTable?
  3. Shall TableColumn be investigated on whether it is a swing class that is actually independent from the rest of swing, hence implementing charvax.swing.table.TableColumn as a very "light" class that delegates to / encapsulates javax.swing.table.TableColumn? (Maybe this approach is already used anywhere else in charva-lanterna?)

I do not have a minimal failing test case, neither I plan to spend time on fixing this in the short-medium term (hence the lack of proposal patch) - sorry for that.


Subtitle: [RFC] Proposed Milestone for charva-lanterna: Compile IntelliJ IDEA 146.975 using charva-lanterna

I propose this as a medium-term milestone for charva-lanterna on the basis that it is an application that exercises a relevant subset of awt/swing and provides a challenging milestone for charva-lanterna (imagine using IntelliJ IDEA from the command line on SSH inside a tmux session!).

I open this ticket as a result of my attempt to compile IntelliJ IDEA 146.975 using charva-lanterna. I planted a build infrastructure that enables testing compilation of IntelliJ using charva-lanterna with minimal effort.

This milestone ("Compile IntelliJ IDEA 146.975 using charva-lanterna") would spark lots of easy-to-delegate "leaf" tasks with limited supervision over - let us say - a 8-4 years timespan. The milestone could be tracked as a GitHub open _meta-_issue" - example and the current leaf tasks could be tracked as open GitHub issues with "help wanted" label - example.

The build infrastructure I planted can be found at https://github.com/lucafavatella/intellij-community/tree/cli-wip and integrates with Travis CI:

The result can be inspected on Travis CI e.g. from https://travis-ci.org/lucafavatella/intellij-community/jobs/120469635#L2226:

     [java] ##teamcity[message text='/home/travis/build/lucafavatella/intellij-community/updater/src/com/intellij/updater/SwingUpdaterUI.java:7:|ncannot find symbol|n  symbol:   class TableColumn|n  location: package charvax.swing.table' status='ERROR']

Please refer to the .travis.yml file and notice that all versions are explicited in there - in particular: the git url/commit of charva-lanterna and the maven version of lanterna.

Threats

viktor-podzigun commented 8 years ago

I will also prepare description of missing/not yet implemented components as part of issue #4.

coderextreme commented 1 month ago

I was planning on adding JTable to my app. Maybe not now.