001package org.vishia.gral.widget; 002 003import java.util.LinkedList; 004import java.util.List; 005 006import org.vishia.byteData.VariableAccess_ifc; 007import org.vishia.gral.base.GralWidget; 008import org.vishia.gral.ifc.GralMng_ifc; 009import org.vishia.gral.ifc.GralUserAction; 010import org.vishia.gral.ifc.GralWidget_ifc; 011 012public class GralSwitchExclusiveButtonMng implements VariableAccess_ifc 013{ 014 015 //final GuiPanelMngWorkingIfc mng; 016 017 private final List<GralWidget> listSwitchButtons = new LinkedList<GralWidget>(); 018 019 String currentButtonText; 020 021 public void add(GralWidget widgd){ 022 listSwitchButtons.add(widgd); 023 if(widgd.getActionChange(GralWidget_ifc.ActionChangeWhen.onEnter) == null){ 024 widgd.specifyActionChange(null, switchAction, null, GralWidget_ifc.ActionChangeWhen.onEnter); 025 } 026 } 027 028 public void remove(GralWidget widgd) 029 { 030 listSwitchButtons.remove(widgd); 031 } 032 033 034 public GralSwitchExclusiveButtonMng() //GuiPanelMngWorkingIfc mng) 035 { //this.mng = mng; 036 } 037 038 public GralUserAction switchAction = new GralUserAction() 039 { 040 041 @Override 042 public boolean userActionGui(int key, GralWidget infos, Object... params) 043 { 044 // TODO Auto-generated method stub 045 currentButtonText = infos.sCmd; 046 for(GralWidget item: listSwitchButtons){ 047 if(item != infos){ 048 item.setValue(GralMng_ifc.cmdSet, 0, 0); 049 } 050 } 051 return true; 052 } 053 }; 054 055 @Override public int getInt(){ return 0; } 056 @Override public int setInt(int value){ return 0; } 057 058 @Override public long getLong(){ return 0; } 059 @Override public long setLong(long value){ return 0; } 060 061 @Override 062 public float getFloat() 063 { 064 // TODO Auto-generated method stub 065 return 0; 066 } 067 068 @Override 069 public float setFloat(float value) 070 { 071 // TODO Auto-generated method stub 072 return 0; 073 } 074 075 @Override 076 public double getDouble() 077 { 078 // TODO Auto-generated method stub 079 return 0; 080 } 081 082 @Override 083 public double setDouble(double value) 084 { 085 // TODO Auto-generated method stub 086 return 0; 087 } 088 089 @Override 090 public String getString() 091 { return currentButtonText; 092 } 093 094 @Override 095 public String setString(String value) 096 { 097 // TODO Auto-generated method stub 098 return null; 099 } 100 101 @Override public char getType(){ return 'I'; } 102 103 104 @Override public void setRefreshed(long time){ } 105 106 @Override 107 public long getLastRefreshTime() 108 { 109 // TODO Auto-generated method stub 110 return 0; 111 } 112 113 114 @Override public boolean isRefreshed(){ return true; } 115 116 @Override 117 public void requestValue(long timeRequested) { } 118 119 @Override public void requestValue(){ requestValue(System.currentTimeMillis()); } 120 121 122 @Override 123 public void requestValue(long timeRequested, Runnable run) { } 124 125 @Override public boolean isRequestedValue(long timeEarlyRequested, boolean retryFaultyVariables){ return false; } 126 127 128 129}