This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 168197 - [terminal] Scale down Terminal widget to run on RCP / J2ME
Summary: [terminal] Scale down Terminal widget to run on RCP / J2ME
Status: RESOLVED WONTFIX
Alias: None
Product: Target Management
Classification: Tools
Component: Terminal (show other bugs)
Version: 1.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: dsdp.tm.core-inbox CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords:
Depends on: 226738
Blocks: 250456
  Show dependency tree
 
Reported: 2006-12-15 07:56 EST by Martin Oberhuber CLA
Modified: 2015-09-07 09:05 EDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Oberhuber CLA 2006-12-15 07:56:13 EST
The org.eclipse.tm.terminal widget is almost able to run on RCP - there is only a small dependency on jface.text left, which should not really needed. It should be rewritten to run on SWT only.

Moreover, only CDC/Foundation-1.0 Java libs should be required. The changes for this should also be fairly small.

-----------Enter bugs above this line-----------
RSE 1.0.1 Release Test
installation : eclipse-SDK-3.2.1
RSE install  : Download RSE-SDK-N20061215-0100
java.runtime : Sun 1.5.0_09-b03
os.name:     : Windows XP 5.1, Service Pack 1
------------------------------------------------
systemtype   : Windows-local, Dstore-win, Dstore-linux
targetos     : Red Hat Enterprise Linux WS release 4 (Nahant Update 3)
targetuname  : Linux parser 2.6.9-34.EL #1 i686 athlon i386 GNU/Linux
targetvm     : Sun Java HotSpot(TM) Client VM (build 1.4.2_12-b03, mixed mode)
------------------------------------------------
Comment 1 Martin Oberhuber CLA 2006-12-19 06:39:11 EST
Work involved for using RCP:
* Get rid of jface.text dependency and use SWT StyledText instead

Work involved for J2ME:
* Get rid of AWT beep for BEL character

That should be pretty much it...
Comment 2 Martin Oberhuber CLA 2008-04-11 13:39:20 EDT
I've fixed org.eclipse.tm.terminal widget to compile against
   CDC-1.1/Foundation-1.1
as per TM 3.0M6:

[168197] Fix Terminal for CDC-1.1/Foundation-1.1
   CommandInputFieldWithHistory
   VT100Emulator
   TerminalTextData
   AbstractTextCanvasModel
   org.eclipse.jdt.core.prefs
   MANIFEST.MF
   .classpath

Would need to check against eRCP now
Comment 3 Martin Oberhuber CLA 2008-04-11 14:56:01 EDT
Also fixed the test cases:

[168197] Fix Terminal for CDC-1.1/Foundation-1.1
   VT100EmulatorBackendTest
   TerminalTextDataWindowTest
   TerminalTextTestHelper
   MANIFEST.MF
   .classpath
   org.eclipse.jdt.core.prefs

Two test cases are failing as per bug 226738.
Comment 4 Martin Oberhuber CLA 2008-04-11 15:53:49 EDT
I tried switching the target Platform to eRCP-1.1.1, and found that the following classes or interfaces were missing in the org.eclipse.tm.terminal plugin:

* plugin.xml -- org.eclipse.ui.bindings extension point unknown
* CommandInputFieldWithHistory -- unknown interfaces:
  - IContentProposal
  - IContentProposalProvider
  - Sash
  - ContentAssistCommandAdapter
  - TextContentAdapter
* VT100TerminalControl -- unknown:
  - org.eclipse.jface.dialogs.MessageDialog
  - org.eclipse.swt.events.KeyAdapter
  - org.eclipse.ui.contexts.IContextActivation
  - org.eclipse.ui.contexts.IContextService
  - org.eclipse.ui.keys.IBindingService
* GridCanvas -- unknown
  - SWT.MouseWheel
* TerminalTextUITest
  - org.eclipse.swt.events.SelectionAdapter

I'm wondering what could be done here? - Create local mock objects of these things, perhaps? Or get rid of the CommandInputFieldWithHistory entirely? - Any advice would be appreciated.

If anybody from eRCP would like to try it out themselves, the Terminal Team Project Set is at
http://www.eclipse.org/dsdp/tm/development/terminal-anonymous.psf
Comment 5 Martin Oberhuber CLA 2008-04-11 16:38:21 EDT
Was able to replace JFace MessageDialog by SWT MessageBox everywhere:

[168197][terminal] Replace JFace MessagDialog by SWT MessageBox
Comment 6 Martin Oberhuber CLA 2008-05-05 17:48:47 EDT
(In reply to comment #4)
I need help from the eRCP team for these issues:

> * plugin.xml -- org.eclipse.ui.bindings extension point unknown
> * CommandInputFieldWithHistory -- unknown interfaces:
>   - IContentProposal
>   - IContentProposalProvider
>   - Sash
>   - ContentAssistCommandAdapter
>   - TextContentAdapter
> * VT100TerminalControl -- unknown:
>   - org.eclipse.swt.events.KeyAdapter
>   - org.eclipse.ui.contexts.IContextActivation
>   - org.eclipse.ui.contexts.IContextService
>   - org.eclipse.ui.keys.IBindingService
> * GridCanvas -- unknown
>   - SWT.MouseWheel
> * TerminalTextUITest
>   - org.eclipse.swt.events.SelectionAdapter

Any advice would be appreciated.
If anybody from eRCP would like to try it out themselves, the Terminal Team
Project Set is at
http://www.eclipse.org/dsdp/tm/development/terminal-anonymous.psf

Perhaps we can discuss some issues at the PMC meeting this week.
Comment 7 Mark Rogalski CLA 2008-05-05 20:55:33 EDT
I'll attempt to make some knowledgable comments:

> * plugin.xml -- org.eclipse.ui.bindings extension point unknown
Sorry, I don't know what this extension point is for.

> * CommandInputFieldWithHistory -- unknown interfaces:
>   - IContentProposal
Sorry, don't know this interface

>   - IContentProposalProvider
ditto

>   - Sash
This is a movable window pane separator. Not all that usable on devices with small screens and even less on devices without touch screens. Output should generally be put in individual windows that user can switch between.

>   - ContentAssistCommandAdapter
don't know this

>   - TextContentAdapter
ditto

> * VT100TerminalControl -- unknown:
>   - org.eclipse.swt.events.KeyAdapter
Write your own key listener instead of relying on template that has some methods already handled.
 
>   - org.eclipse.ui.contexts.IContextActivation
>   - org.eclipse.ui.contexts.IContextService
Don't remember what these are for.

>   - org.eclipse.ui.keys.IBindingService
If I remember correctly, this service is for binding things to keyboard shortcuts. Since devices don't usually have control keys, this is generally not useful. You can probably remove this code.

> * GridCanvas -- unknown
Use Grid or Canavas instead

>   - SWT.MouseWheel
No mice in your device. Remove code.

> * TerminalTextUITest
>   - org.eclipse.swt.events.SelectionAdapter
Write your own selection listener instead.

Comment 8 Martin Oberhuber CLA 2008-05-05 20:58:15 EDT
Thanks Mark. Your input will move us a little bit more forward.
Comment 9 Martin Oberhuber CLA 2008-05-20 17:43:29 EDT
Much has been achieved, but not all -- deferring to Future, interested clients should be able to walk the remaining few steps fairly easily if they want.
Comment 10 Uwe Stieber CLA 2015-05-07 08:00:27 EDT
Not pursuing this any further with TM Terminal 4.0.