001package org.vishia.gral.awt; 002 003import java.awt.Container; 004import java.awt.Label; 005import java.awt.TextArea; 006import java.io.IOException; 007 008import org.vishia.gral.base.GralGraphicTimeOrder; 009import org.vishia.gral.base.GralTextBox; 010import org.vishia.gral.ifc.GralColor; 011import org.vishia.gral.ifc.GralFont; 012import org.vishia.gral.ifc.GralRectangle; 013import org.vishia.gral.ifc.GralUserAction; 014 015/** 016 * 017 */ 018public class AwtTextBox extends GralTextBox.GraphicImplAccess 019{ 020 protected AwtTextAreaImpl textFieldSwt; 021 022 /**A possible prompt for the text field or null. */ 023 /*packagePrivate*/ Label promptSwt; 024 025 StringBuffer newText = new StringBuffer(); 026 027 028 public AwtTextBox(GralTextBox widgg, Container parent, int style, AwtWidgetMng mng) 029 { widgg.super(widgg); 030 textFieldSwt = new AwtTextAreaImpl(); 031 parent.add(textFieldSwt); 032 } 033 034 //@Override public Widget getWidgetImplementation(){ return textFieldSwt; } 035 //@Override public boolean setFocus(){ return textFieldSwt.setFocus(); } 036 037 038 039 /* 040 041 @Override public void setTextInGThread(CharSequence text){ 042 textFieldSwt.setText(text.toString()); 043 } 044 045 046 047 @Override public void appendTextInGThread(CharSequence text){ 048 textFieldSwt.append(text.toString()); 049 } 050 051 052*/ 053 054 055 056 @Override public Object getWidgetImplementation() 057 { return textFieldSwt; 058 } 059 060 061 062 063 064 065 066 protected GralGraphicTimeOrder changeTextBoxTrail = new GralGraphicTimeOrder("AwtTextBox.changeTextBoxTrail") 067 { @Override public void executeOrder() 068 { if(newText.length() >0){ 069 textFieldSwt.append(newText.toString()); 070 newText.setLength(0); 071 } 072 } 073 }; 074 075 076 protected GralGraphicTimeOrder changeText = new GralGraphicTimeOrder("AwtTextBox.changeTextB") 077 { @Override public void executeOrder() 078 { if(newText.length() >0){ 079 textFieldSwt.setText(newText.toString()); 080 newText.setLength(0); 081 } 082 //countExecution(); 083 //windowMng.removeDispatchListener(this); 084 } 085 }; 086 087 088 @Override public void setBoundsPixel(int x, int y, int dx, int dy) 089 { textFieldSwt.setBounds(x,y,dx,dy); 090 } 091 092 093 094 095 @Override public void repaintGthread(){ textFieldSwt.repaint(); } 096 097 098 099 100 @Override public boolean setFocusGThread() 101 { return AwtWidgetHelper.setFocusOfTabSwt(textFieldSwt); 102 } 103 104 105 106 107 @Override public void removeWidgetImplementation() 108 { 109 Container parent = textFieldSwt.getParent(); 110 parent.remove(textFieldSwt); 111 textFieldSwt = null; 112 } 113 114 115 116 117 118public static class AwtTextAreaImpl extends TextArea implements AwtWidget 119 { 120 Object data; 121 122 AwtTextAreaImpl() 123 { super("test"); 124 125 } 126 127 @Override public Object getData(){ return data; } 128 129 @Override public void setData(Object dataP){ this.data = dataP; } 130 131 } 132 133 134 135 136 137@Override 138public void setVisibleGThread(boolean bVisible) 139{ 140 // TODO Auto-generated method stub 141 142} 143 144@Override 145public GralRectangle getPixelPositionSize() 146{ 147 // TODO Auto-generated method stub 148 return null; 149} 150 151 152 153 154 155 156}