锘??xml version="1.0" encoding="utf-8" standalone="yes"?> CellEditor瀹氫箟浜嗘煇涓垪琚紪杈戞椂鏄劇ず鐨勫瑙傦紝瀹冨彲浠ユ槸鏂囨湰妗嗐佷笅鎷夊垪琛ㄦ鎴栧崟閫夋錛屼篃鍙互鑷繁瀹氫箟銆?/p>
閫氬父浣跨敤鐨凜ellEditor鐨勫瓙綾誨氨鏄細CheckboxCellEditor銆丆omboBoxCellEditor鍜孴extCellEditor銆?br />CellEditor涓鑸敤鏁扮粍鏉ヤ繚瀛橈紝濡傛灉鏌愪釜鍒椾笉闇瑕佺紪杈戯紝鍒欏彲灝嗚鍒楃殑CellEditor璁句負null銆?br />褰揅ellEditor鐨勬暟緇勫畾涔夊畬鍚庯紝鍗沖彲鍒╃敤setCellEditors(CellEditor[] editors)鏂規硶灝嗚鏁扮粍璁劇疆鍒板搴旂殑TreeViewer鎴朤ableViewer涓幓銆備緥濡傦細 ICellModifier瀹氫箟浜嗕笁涓帴鍙f柟娉曪細 public boolean canModify(Object element, String property); public Object getValue(Object element, String property); 姝ゅ铏界劧鍙互榪斿洖Object綾誨瀷鐨勫紩鐢紝浣嗘槸浣跨敤鏃墮渶灝忓績錛岀壒瀹氱殑CellEditor浠呮帴鍙楃壒瀹氱被鍨嬬殑Value銆傛瘮濡傦細 public void modify(Object element, String property, Object value); GEF緙栬緫鍣ㄦ槸鏋勬灦鍦―raw2D鐨凢igureCanvas涓婄殑,鑰孎igureCanvas鏄痵wt涓瑿anvas鐨勫瓙綾? 褰撳緱鍒癋igureCanvas涔嬪悗,灝卞彲浠ュ緱鍒癎EF緙栬緫鍣ㄧ殑鍖哄煙鍜孏EF緙栬緫鍣ㄥ唴閮ㄧ敾甯冪殑澶у皬: 緙栬緫鍣ㄥ尯鍩熷ぇ灝?FigureCanvas.getBounds(); 鐢誨竷澶у皬:FigureCanvas.getContents.getBounds(); 鑻ヨ瑙﹀彂GEF緙栬緫鍣ㄧ殑婊氬姩鏉℃搷浣?浠呴渶璋冪敤FigureCanvas鐨剆crollToX(int hOffset)鍜宻crollToY(int vOffset)鍗沖彲. 鑾峰彇FigureCanvas鐨勬柟娉曚篃姣旇緝綆鍗?閫氳繃EditPart.getViewer()鑾峰緱EditPartViewer,涓鑸儏鍐典笅EditPartViewer鐨凜ontrol灝辨槸FigureCanvas. 鍒楀嚭浠g爜濡備笅:
浜屻佸畨瑁呴『搴忥細
Domino Server->Sametime Server->Notes Admin Client->Sametime Client
涓夈丏omino Server瀹夎錛?br />
1.鎸夌収鎻愮ず瀹夎Domino Server錛岄夋嫨Domino Enterprise Server
2.榪愯Server Setup Program
3.閫夋嫨Set up the first server or a new Domino domain.
4.濉啓Server name鍜孲erver title錛孫rganization Name鍜孫rganization Certifier password
5.濉啓綆$悊鍛樼殑鍚嶇О鍜屽瘑鐮侊紝涓瀹氳璁板綍璇ョ敤鎴峰悕鍜屽瘑鐮?br />
6.閫変腑Domino Server鎻愪緵鐨凥ttp Services
7.涓嶅繀閫変腑LDAP Service
鍥涖丼ametime Server瀹夎錛?br />
1.鎸夌収鎻愮ず瀹夎Sametime Server錛屽鏋滈渶瑕佹縺媧?0绔彛錛岄変腑Enable HTTP tunneling銆?br />
2.鍚姩Sametime嬈㈣繋鐣岄潰錛?a href="http://domain/stcenter.nsf">http://domain/stcenter.nsf錛岀櫥褰曡嚦綆$悊欏甸潰錛屽鏋滄棤娉曠櫥褰曪紝鍙兘鏄煙鍚嶈В鏋愰棶棰橈紝灝嗗煙鍚嶄笌ip鐨勫搴斿叧緋繪坊鍔犲埌windows/system32/drivers/etc/host鏂囦歡涓?br />
3.濡傛灉嬈㈣繋鐣岄潰娌℃湁鐢ㄦ埛娉ㄥ唽閫夐」錛岄渶綆$悊鍛樺紑鍚鍔熻兘銆?br />
鍦ㄧ鐞嗛〉闈腑閫夋嫨Domino鐩綍->Domino錛屽嬀閫?label for="1">鍏佽鐢ㄦ埛娉ㄥ唽鍒?Domino 鐩綍涓欏癸紝璇ラ」闇閲嶅惎鏈嶅姟鍣紝騫跺湪鍚庨潰鎿嶄綔涓粰浜堟潈闄愭敮鎸併?br />
浜斻丯otes Admin Client瀹夎
1.鎸夌収鎻愮ず瀹夎Notes Admin Client錛屽畨瑁呭畬姣曞悗鍚姩錛屾墦寮鏂囦歡Tab欏碉紝鍦―omino Directory涓婄偣鍑誨彸閿?>瀛樺彇鎺у埗->綆$悊錛屾墦寮ACL(瀛樺彇鎺у埗鍒楄〃)瀵硅瘽妗?br />
2.娣誨姞鐢ㄦ埛Sametime Development/Lotus Notes Companion Products錛屽茍緇欎簣浣滆呮潈闄愶紝浣垮叾鎷ユ湁鍒涘緩鏂囨。絳夋潈闄愶紝鐒跺悗璧嬩簣鍏禪serCreator瑙掕壊錛岃姝ユ搷浣滅敤浠ユ彁渚涚敤鎴鋒敞鍐屾墍闇鐨勬潈闄愩?br />
鍏丼ametime Client瀹夎
1.鎸夌収鎻愮ず瀹夎Sametime Client
2.榪涘叆http://domain/stcenter.nsf娉ㄥ唽鐢ㄦ埛
3.浣跨敤璇ョ敤鎴峰拰domain鍦板潃鐧誨綍鑷硈ametime
]]>
聽聽聽聽cellEditors[
0
]聽
=
聽
new
聽TextCellEditor(tableViewer.getTable());
聽聽聽聽cellEditors[
1
]聽
=
聽
null
;
聽聽聽聽cellEditors[
2
]聽
=
聽
new
聽ComboBoxCellEditor(tableViewer.getTable(),聽
new
聽String[]{
"
first
"
,聽
"
second
"
,聽
"
third
"
,聽
"
forth
"
});
聽聽聽聽cellEditors[
3
]聽
=
聽
new
聽CheckboxCellEditor(tableViewer.getTable());
聽聽聽聽cellEditors[
4
]聽
=
聽
new
聽CustomizedTextCellEditor(tableViewer.getTable());
聽聽聽聽tableViewer.setCellEditors(cellEditors);
鍏朵腑CustomizedTextCellEditor鏄嚜瀹氫箟鐨凜ellEditor錛岄伩鍏嶄簡璁劇疆value鏃墮犳垚鐨勭┖鎸囬拡寮傚父銆?br />protected聽class聽CustomizedTextCellEditor聽extends聽TextCellEditor
{
聽聽聽聽public聽CustomizedTextCellEditor(Composite聽parent)
{
聽聽聽聽聽聽聽聽super(parent);
聽聽聽聽}
聽聽聽聽protected聽void聽doSetValue(Object聽value)聽
{
聽聽聽聽聽聽聽聽if(value聽==聽null)
聽聽聽聽聽聽聽聽聽聽聽聽return;
聽聽聽聽聽聽聽聽super.doSetValue(value);
聽聽聽聽}聽聽聽聽聽聽聽聽
}
CellEditor璐熻矗澶栬錛屽畠瀵硅緙栬緫鐨勬ā鍨嬩俊鎭竴鏃犳墍鐭ャ傛墍浠face涓紩鍏ヤ簡ICellModifier鎺ュ彛錛屽皢model涓嶤ellEditor鑱旂郴鍦ㄤ竴璧楓備負浜嗙‘瀹氬湪CellModifier涓殑鍒楋紝闇瑕佸畾涔塩olumnProperties鐨凷tring[]鏁扮粍錛岀敤浠ュ尯鍒嗕笉鍚屽垪瀵瑰簲鐨勪笉鍚屽睘鎬с備嬌鐢╯etColumnProperties(String[] columnProperties)璁劇疆璇ュ睘鎬ч泦銆?/p>
璇ユ柟娉曞垽鏂綍鏃惰鍒楀彲浠ヨ緙栬緫銆傚叾涓璭lement鏄搴旂殑model銆傝繑鍥瀟rue琛ㄧず姝ゆ椂璇ュ垪鍙互琚紪杈戙?/p>
璇ユ柟娉曚竴鑸湪activateCellEditor()鏃惰皟鐢紝鐢ㄤ簬璁懼畾CellEditor鐨勫垵濮嬪箋傚叾涓璭lement鏄搴旂殑model銆?/p>
TextCellEditor瀵瑰簲String綾誨瀷鐨刅alue錛?br />ComboBoxCellEditor瀵瑰簲Integer綾誨瀷鐨刅alue錛?br />CheckBoxCellEditor瀵瑰簲Boolean綾誨瀷鐨刅alue錛?br />鑻ヨ繑鍥炰簡涓嶉傚悎鐨刅alue瀵硅薄錛屽垯浼氭姏鍑篈ssertionFailedException銆?/p>
璇ユ柟娉曟墽琛屼繚瀛樹慨鏀廣備竴鑸湪saveEditorValue涔嬬被鐨勬柟娉曚腑璋冪敤銆傛澶勭殑element涓嶅啀鏄痬odel錛岃屾槸Item綾誨瀷鐨勫紩鐢ㄣ傚彇鐢ㄥ搴旂殑妯″瀷錛岄渶瑕佷嬌鐢?(Item) element).getData()鏂規硶銆備竴鑸澶勭殑value鍊鹼紝涔熷氨鏄綋鍓岰ellEditor鐨刅alue鍊鹼紝浣跨敤CellEditor.getValue()寰楀埌銆傚彟澶栵紝鍦ㄦ墽琛屽畬鏇存敼鍚庯紝闇瑕佸埛鏂板搴旂殑TableViewer鎴朤reeViewer錛屼嬌鍋氬嚭鐨勬洿鏂板彲瑙併?br />
org.eclipse.debug.internal.ui.elements.adapters.DefaultVariableCellModifier鏄疘CellModifier鐨勪竴涓畬鏁村疄鐜幫細import聽org.eclipse.debug.core.DebugException;
import聽org.eclipse.debug.core.model.IVariable;
import聽org.eclipse.debug.internal.ui.DebugUIPlugin;
import聽org.eclipse.debug.internal.ui.DefaultLabelProvider;
import聽org.eclipse.debug.internal.ui.VariableValueEditorManager;
import聽org.eclipse.debug.ui.actions.IVariableValueEditor;
import聽org.eclipse.jface.viewers.ICellModifier;
/**聽*//**
聽*聽@since聽3.2
聽*
聽*/
public聽class聽DefaultVariableCellModifier聽implements聽ICellModifier聽
{
聽聽聽聽
聽聽聽聽/**//*聽(non-Javadoc)
聽聽聽聽聽*聽@see聽org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object,聽java.lang.String)
聽聽聽聽聽*/
聽聽聽聽public聽boolean聽canModify(Object聽element,聽String聽property)聽
{
聽聽聽聽聽聽聽聽if聽(VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property))聽
{
聽聽聽聽聽聽聽聽聽聽聽聽if聽(element聽instanceof聽IVariable)聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽((IVariable)聽element).supportsValueModification();
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽return聽false;
聽聽聽聽}
聽聽聽聽/**//*聽(non-Javadoc)
聽聽聽聽聽*聽@see聽org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object,聽java.lang.String)
聽聽聽聽聽*/
聽聽聽聽public聽Object聽getValue(Object聽element,聽String聽property)聽
{
聽聽聽聽聽聽聽聽if聽(VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property))聽
{
聽聽聽聽聽聽聽聽聽聽聽聽if聽(element聽instanceof聽IVariable)聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽IVariable聽variable聽=聽(IVariable)聽element;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽try聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽DefaultLabelProvider.escapeSpecialChars(variable.getValue().getValueString());
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽catch聽(DebugException聽e)聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽DebugUIPlugin.log(e);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽return聽null;
聽聽聽聽}
聽聽聽聽/**//*聽(non-Javadoc)
聽聽聽聽聽*聽@see聽org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object,聽java.lang.String,聽java.lang.Object)
聽聽聽聽聽*/
聽聽聽聽public聽void聽modify(Object聽element,聽String聽property,聽Object聽value)聽
{
聽聽聽聽聽聽聽聽Object聽oldValue聽=聽getValue(element,聽property);
聽聽聽聽聽聽聽聽if聽(!value.equals(oldValue))聽
{
聽聽聽聽聽聽聽聽聽聽聽聽if聽(VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property))聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(element聽instanceof聽IVariable)聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽IVariable聽variable聽=聽(IVariable)聽element;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽IVariableValueEditor聽editor聽=聽VariableValueEditorManager.getDefault().getVariableValueEditor(variable.getModelIdentifier());
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(value聽instanceof聽String)聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽value聽=聽DefaultLabelProvider.encodeEsacpedChars((String)value);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(editor聽!=聽null)聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽聽(editor.saveVariable(variable,聽(String)聽value,聽DebugUIPlugin.getShell()))聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽try聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽variable.setValue((String)聽value);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽catch聽(DebugException聽e)聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(),聽Messages.VariableColumnPresentation_4,聽Messages.VariableColumnPresentation_5,聽e.getStatus());
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽}
}
]]>
榪欐槸榪愮敤浜咶igureCanvas鏄疌anvas瀛愮被鐨勭壒鐐?璋冪敤SWT鐨凜anvas鐨刧etBounds()鏂規硶,鍗寵皟鐢–ontrol鐨刧etBounds()鏂規硶.
榪欐槸榪愮敤浜咺Figure鐨刧etBounds()鏂規硶, 榪欎袱涓尯鍩熺煩褰笉鍙販娣?
canvas.scrollToX(
500
);
canvas.scrollToY(
600
);
System.out.println(canvas.getBounds());
System.out.println(canvas.getContents().getBounds());
]]>
(String[])ArrayList.toArray(new String[0]);
JFace鐨凞ialog緇ф壙浜嶹indow綾?璇ョ被涓湁涓鏂規硶,璁劇疆Shell鐨勬牱寮?
protected void setShellStyle(int聽newShellStyle)
The shell style bits are used by the framework method createShell
when creating this window's shell.
newShellStyle
- the new shell style bits
鍦―ialog鐨勬瀯閫犲嚱鏁頒腑璋冪敤璇ユ柟娉?鍗沖彲鏇存敼Dialog鐨勬牱寮?涓嬩負涓渚?
渚嬪,鍦‥clipse Editor瑙嗗浘涓姞鍏igure,闇瑕佽綆楀嚭鐩稿浜嶩ostFigure鐨勫潗鏍?鎵嶈兘姝g‘灝唂igure鏀懼湪榧犳爣鐐瑰嚮鐨勪綅緗?鍙互濡備笅榪欐牱鍋?
鍦╣etCreateCommand(CreateRequest request)鏂規硶涓?鍔犲叆濡備笅璇彞:
Point location = request.getLocation().getCopy();
getHostFigure().translateToRelative(location);
濡傛鑾峰緱鐨刲ocation灝辨槸鐩稿浜嶩ostFigure鐨勫潗鏍?
鑳藉鑾峰緱褰撳墠鍏夋爣緇濆鍧愭爣鐨勬柟娉曟槸:
Display.getDefault().getCursorLocation()
鍒鋒柊璧勬簮綆$悊鍣ㄨ皟鐢ㄦ柟娉?
RefreshLocal
public void refreshLocal(int depth, IProgressMonitor monitor)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 throws CoreException
Refreshes the resource hierarchy from this resource and its children (to the specified depth) relative to the local file system. Creations, deletions, and changes detected in the local file system will be reflected in the workspace's resource tree. This resource need not exist or be local.
This method may discover changes to resources; any such changes will be reported in a subsequent resource change event.
If a new file or directory is discovered in the local file system at or below the location of this resource, any parent folders required to contain the new resource in the workspace will also be created automatically as required.
This method is long-running; progress and cancellation are provided by the given progress monitor.
Parameters:
depth - valid values are DEPTH_ZERO, DEPTH_ONE, or DEPTH_INFINITE
monitor - a progress monitor, or null if progress reporting is not desired
Throws:
CoreException - if this method fails. Reasons include:
Resource changes are disallowed during certain types of resource change event notification. See IResourceChangeEvent for more details.
OperationCanceledException - if the operation is canceled. Cancelation can occur even if no progress monitor is provided.
See Also:
DEPTH_ZERO, DEPTH_ONE, DEPTH_INFINITE, IResourceRuleFactory.refreshRule(IResource)
璇ユ柟娉曚綅浜巓rg.eclipse.core.resources.IResource
鎴戠殑璋冪敤鏂規硶鏄?
ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, monitor);
getAdvanceWidth
聽聽聽聽聽聽聽聽聽 public int getAdvanceWidth(char聽ch)
The advance width is defined as the horizontal distance the cursor should move after printing the character in the selected font.
鍙互濡備笅闈㈢殑紼嬪簭浣跨敤璇ュ嚱鏁?