📄 moptionwindow.java
字号:
{
case SWT.Resize:
onShellResize();
break;
case SWT.Activate:
onActivate();
break;
}
}
else if( event.widget == optionTree )
{
switch( event.type )
{
case SWT.Selection:
onTreeSelect();
break;
}
}
else if( event.widget == cancelButton )
{
switch( event.type )
{
case SWT.Selection:
onCancelButtonClick();
break;
}
}
else if( event.widget == okButton )
{
switch( event.type )
{
case SWT.Selection:
onOkButtonClick();
break;
}
}
else if( event.widget == applyButton )
{
switch( event.type )
{
case SWT.Selection:
onApplyButtonClick();
break;
}
}
else if( event.widget == filterAddButton )
{
switch( event.type )
{
case SWT.Selection:
onFilterAddButtonClick();
break;
}
}
else if( event.widget == filterEditButton )
{
switch( event.type )
{
case SWT.Selection:
onFilterEditButtonClick();
break;
}
}
else if( event.widget == filterRemoveButton )
{
switch( event.type )
{
case SWT.Selection:
onFilterRemoveButtonClick();
break;
}
}
else if( event.widget == filterTable )
{
switch( event.type )
{
case SWT.Selection:
onFilterTableSelect();
break;
case SWT.MouseDoubleClick:
onFilterTableDoubleClick();
break;
}
}
else if( event.widget == breakAddButton )
{
switch( event.type )
{
case SWT.Selection:
onBreakAddButtonClick();
break;
}
}
else if( event.widget == breakEditButton )
{
switch( event.type )
{
case SWT.Selection:
onBreakEditButtonClick();
break;
}
}
else if( event.widget == breakRemoveButton )
{
switch( event.type )
{
case SWT.Selection:
onBreakRemoveButtonClick();
break;
}
}
else if( event.widget == fontButton )
{
switch( event.type )
{
case SWT.Selection:
onFontButtonClick();
break;
}
}
else if( event.widget == breakTable )
{
switch( event.type )
{
case SWT.Selection:
onBreakTableSelect();
break;
case SWT.MouseDoubleClick:
onBreakTableDoubleClick();
break;
}
}
else if( event.widget == encodingCombo )
{
switch( event.type )
{
case SWT.Selection:
onEncodingComboSelect();
break;
}
}
else if( event.widget == proxyLabel1 )
{
switch( event.type )
{
case SWT.MouseDown:
proxyEnableSelect();
break;
}
}
else if( MSwtUtil.getTableColumns( filterTable ).contains( event.widget )
|| MSwtUtil.getTableColumns( breakTable ).contains( event.widget )
)
{
onTableColumnResize();
}
}
// --------------------------------------------------------------------------------
private void onEncodingComboSelect()
{
enc = encodingCombo.getText();
}
// --------------------------------------------------------------------------------
private void onFontButtonClick()
{
FontDialog fd = new FontDialog( shell );
if( fontData != null )
{
fd.setFontList( new FontData[]{ fontData } );
}
FontData selectedFontData = fd.open();
if( selectedFontData != null )
{
fontData = selectedFontData;
setFontLabel();
}
}
// --------------------------------------------------------------------------------
private void onTableColumnResize()
{
MSwtUtil.setTableColumnWidthToProperties( "filterTable", filterTable, prop );
MSwtUtil.setTableColumnWidthToProperties( "breakTable", breakTable, prop );
}
// --------------------------------------------------------------------------------
private void onFilterTableDoubleClick()
{
editFilter();
}
// --------------------------------------------------------------------------------
private void onFilterTableSelect()
{
// update "enabled" of filters
TableItem[] items = filterTable.getItems();
for( int i = 0; i < items.length; ++i )
{
MFilter filter = ( MFilter )filterList.get( i );
filter.setEnabled( items[ i ].getChecked() );
}
updateGui();
}
// --------------------------------------------------------------------------------
private void onActivate()
{
updateBreakTable();
updateFilterTable();
}
// --------------------------------------------------------------------------------
public void updateFilterTable()
{
filterTable.removeAll();
Iterator p = filterList.iterator();
while( p.hasNext() )
{
MFilter filter = ( MFilter )p.next();
TableItem item = new TableItem( filterTable, SWT.NONE );
item.setChecked( filter.getEnabled() );
item.setText( new String[]{ "", filter.getName(), filter.getPattern(), Boolean.toString( filter.isIgnoreCase() ) } );
}
}
// --------------------------------------------------------------------------------
private void onFilterRemoveButtonClick()
{
removeFilter();
updateGui();
}
// --------------------------------------------------------------------------------
private void onFilterEditButtonClick()
{
editFilter();
}
// --------------------------------------------------------------------------------
private void onFilterAddButtonClick()
{
addFilter();
}
// --------------------------------------------------------------------------------
private void addFilter()
{
MFilterWindow filterWindow = new MFilterWindow();
filterWindow.open();
}
// --------------------------------------------------------------------------------
private void editFilter()
{
int index = filterTable.getSelectionIndex();
if( index < 0 )
{
return;
}
MFilter filter = ( MFilter )filterList.get( index );
MFilterWindow filterWindow = new MFilterWindow( filter );
filterWindow.open();
}
// --------------------------------------------------------------------------------
private void removeFilter()
{
int index = filterTable.getSelectionIndex();
filterList.remove( index );
updateFilterTable();
}
// --------------------------------------------------------------------------------
public void updateBreakTable()
{
breakTable.removeAll();
Iterator p = breakList.iterator();
while( p.hasNext() )
{
MBreak _break = ( MBreak )p.next();
TableItem item = new TableItem( breakTable, SWT.NONE );
item.setChecked( _break.getEnabled() );
item.setText( new String[]{ "", _break.getName(), _break.getPattern() , Boolean.toString( _break.isIgnoreCase() ), TYPE_ARRAY[ _break.getType() ] } );
}
}
// --------------------------------------------------------------------------------
private void onBreakTableDoubleClick()
{
editBreak();
}
// --------------------------------------------------------------------------------
private void onBreakTableSelect()
{
// update "enabled" of breaks
TableItem[] items = breakTable.getItems();
for( int i = 0; i < items.length; ++i )
{
MBreak _break = ( MBreak )breakList.get( i );
_break.setEnabled( items[ i ].getChecked() );
}
updateGui();
}
// --------------------------------------------------------------------------------
private void onBreakRemoveButtonClick()
{
removeBreak();
updateGui();
}
// --------------------------------------------------------------------------------
private void onBreakEditButtonClick()
{
editBreak();
}
// --------------------------------------------------------------------------------
private void onBreakAddButtonClick()
{
addBreak();
}
// --------------------------------------------------------------------------------
private void addBreak()
{
MBreakWindow breakWindow = new MBreakWindow();
breakWindow.open();
}
// --------------------------------------------------------------------------------
private void editBreak()
{
int index = breakTable.getSelectionIndex();
if( index < 0 )
{
return;
}
MBreak _break = ( MBreak )breakList.get( index );
MBreakWindow breakWindow = new MBreakWindow( _break );
breakWindow.open();
}
// --------------------------------------------------------------------------------
private void removeBreak()
{
int index = breakTable.getSelectionIndex();
breakList.remove( index );
updateBreakTable();
}
// --------------------------------------------------------------------------------
protected void onShellResize()
{
// window
saveWindowBounds();
// sash
int[] weights = sashForm.getWeights();
prop.setProperty( WINDOW_NAME + ".weight1", weights[ 0 ] );
prop.setProperty( WINDOW_NAME + ".weight2", weights[ 1 ] );
MSwtUtil.setTableColumnWidthToProperties( "filterTable", filterTable, prop );
MSwtUtil.setTableColumnWidthToProperties( "breakTable", breakTable, prop );
}
// --------------------------------------------------------------------------------
private void onTreeSelect()
{
if( optionTree.getSelectionCount() != 1 )
{
return;
}
TreeItem selectedItem = optionTree.getSelection()[ 0 ];
Composite composite = ( Composite )itemCompositeMap.get( selectedItem );
showComposite( composite );
}
// --------------------------------------------------------------------------------
private void onCancelButtonClick()
{
getOptions();
close();
}
// --------------------------------------------------------------------------------
private void setOptions()
{
MSystemUtil.deepCopy( filterList, doorman.filterList );
MSystemUtil.deepCopy( breakList, doorman.breakList );
doorman.requestWindow.setBreakMenu();
doorman.responseWindow.setBreakMenu();
doorman.setFontData( fontData );
doorman.setEnc( enc );
useProxy = proxyButton1.getSelection();
proxyHost1 = proxyHostText1.getText();
proxyHost2 = proxyHostText2.getText();
proxyPort1 = MStringUtil.parseInt( proxyPortText1.getText(), 8080 );
proxyPort2 = MStringUtil.parseInt( proxyPortText2.getText(), 8080 );
doorman.useProxy = useProxy;
doorman.proxyHost1 = proxyHost1;
doorman.proxyHost2 = proxyHost2;
doorman.proxyPort1 = proxyPort1;
doorman.proxyPort2 = proxyPort2;
}
// --------------------------------------------------------------------------------
private void onApplyButtonClick()
{
setOptions();
}
// --------------------------------------------------------------------------------
private void onOkButtonClick()
{
setOptions();
close();
}
// --------------------------------------------------------------------------------
public void updateGui()
{
filterEditButton.setEnabled( filterTable.getSelectionCount() == 1 );
filterRemoveButton.setEnabled( filterTable.getSelectionCount() == 1 );
breakEditButton.setEnabled( breakTable.getSelectionCount() == 1 );
breakRemoveButton.setEnabled( breakTable.getSelectionCount() == 1 );
setFontLabel();
encodingCombo.setText( enc );
proxyButton1.setSelection( useProxy );
proxyHostText1.setText( proxyHost1 );
proxyHostText2.setText( proxyHost2 );
proxyPortText1.setText( Integer.toString( proxyPort1 ) );
proxyPortText2.setText( Integer.toString( proxyPort2 ) );
}
// --------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -