📄 modelbrowsermousehandling.java
字号:
final JRadioButtonMenuItem useOrderAssoc = new JRadioButtonMenuItem(USE);
useOrderAssoc.setSelected(fMBS.ASSOC_USE_ORDER == fMBS.assocOrder);
useOrderAssoc.addItemListener(new ItemListener() {
public void itemStateChanged(final ItemEvent ev) {
final JRadioButtonMenuItem j = (JRadioButtonMenuItem) ev.getItem();
if (j.getText().equals(USE)) {
fMBS.assocOrder = fMBS.ASSOC_USE_ORDER;
}
fMBS.fireStateChanged();
}
});
subMenuAssoc.add(useOrderAssoc);
//////////////////////////////////////////////////////////
// items for invariants
//////////////////////////////////////////////////////////
JMenu subMenuInv = new JMenu("sort invariants");
popupMenu.add(subMenuInv);
final JRadioButtonMenuItem alphabeticInvByClass = new JRadioButtonMenuItem(ALPHABETIC_BY_CLASS);
alphabeticInvByClass.setSelected(fMBS.INV_ALPHABETIC_BY_CLASS == fMBS.invOrder);
alphabeticInvByClass.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
JRadioButtonMenuItem j = (JRadioButtonMenuItem) ev.getItem();
if (j.getText().equals(ALPHABETIC_BY_CLASS)) {
fMBS.invOrder = fMBS.INV_ALPHABETIC_BY_CLASS;
}
fMBS.fireStateChanged();
}
});
subMenuInv.add(alphabeticInvByClass);
final JRadioButtonMenuItem alphabeticInvByInvName = new JRadioButtonMenuItem(ALPHABETIC_BY_INV_NAME);
alphabeticInvByInvName.setSelected(fMBS.INV_ALPHABETIC_INV_NAME == fMBS.invOrder);
alphabeticInvByInvName.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
JRadioButtonMenuItem j = (JRadioButtonMenuItem) ev.getItem();
if (j.getText().equals(ALPHABETIC_BY_INV_NAME)) {
fMBS.invOrder = fMBS.INV_ALPHABETIC_INV_NAME;
}
fMBS.fireStateChanged();
}
});
subMenuInv.add(alphabeticInvByInvName);
final JRadioButtonMenuItem useOrderInv = new JRadioButtonMenuItem(USE);
useOrderInv.setSelected(fMBS.INV_USE_ORDER == fMBS.invOrder);
useOrderInv.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
JRadioButtonMenuItem j = (JRadioButtonMenuItem) ev.getItem();
if (j.getText().equals(USE)) {
fMBS.invOrder = fMBS.INV_USE_ORDER;
}
fMBS.fireStateChanged();
}
});
subMenuInv.add(useOrderInv);
//////////////////////////////////////////////////////////
// items for pre-/postconditions
//////////////////////////////////////////////////////////
final JMenu subMenuCond = new JMenu("sort pre-/postconditions");
popupMenu.add(subMenuCond);
final JRadioButtonMenuItem alphabeticCondByOpName = new JRadioButtonMenuItem(ALPHABETIC_BY_OP);
alphabeticCondByOpName.setSelected(fMBS.COND_ALPHABETIC_BY_OPERATION == fMBS.condOrder);
alphabeticCondByOpName.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
JRadioButtonMenuItem j = (JRadioButtonMenuItem) ev.getItem();
if (j.getText().equals(ALPHABETIC_BY_OP)) {
fMBS.condOrder = fMBS.COND_ALPHABETIC_BY_OPERATION;
}
fMBS.fireStateChanged();
}
});
subMenuCond.add(alphabeticCondByOpName);
final JRadioButtonMenuItem alphabeticCondByCondName = new JRadioButtonMenuItem(ALPHABETIC_BY_COND_NAME);
alphabeticCondByCondName.setSelected(fMBS.COND_ALPHABETIC_BY_NAME == fMBS.condOrder);
alphabeticCondByCondName.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
JRadioButtonMenuItem j = (JRadioButtonMenuItem) ev.getItem();
if (j.getText().equals(ALPHABETIC_BY_COND_NAME)) {
fMBS.condOrder = fMBS.COND_ALPHABETIC_BY_NAME;
}
fMBS.fireStateChanged();
}
});
subMenuCond.add(alphabeticCondByCondName);
final JRadioButtonMenuItem alphabeticCondByCondType = new JRadioButtonMenuItem(ALPHABETIC_BY_COND_TYPE);
alphabeticCondByCondType.setSelected(fMBS.COND_ALPHABETIC_BY_PRE == fMBS.condOrder);
alphabeticCondByCondType.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
JRadioButtonMenuItem j = (JRadioButtonMenuItem) ev.getItem();
if (j.getText().equals(ALPHABETIC_BY_COND_TYPE)) {
fMBS.condOrder = fMBS.COND_ALPHABETIC_BY_PRE;
}
fMBS.fireStateChanged();
}
});
subMenuCond.add(alphabeticCondByCondType);
final JRadioButtonMenuItem useOrderCond = new JRadioButtonMenuItem(USE);
useOrderCond.setSelected(fMBS.COND_USE_ORDER == fMBS.condOrder);
useOrderCond.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
JRadioButtonMenuItem j = (JRadioButtonMenuItem) ev.getItem();
if (j.getText().equals(USE)) {
fMBS.condOrder = fMBS.COND_USE_ORDER;
}
fMBS.fireStateChanged();
}
});
subMenuCond.add(useOrderCond);
popupMenu.show(e.getComponent(), e.getX(), e.getY());
return true;
}
private Rectangle fRectangle;
private MModelElement fElem;
private Map fHighlightElements;
public void setSelectedNodeRectangle( Rectangle rec ) {
fRectangle = rec;
}
public void setSelectedModelElement( MModelElement elem ) {
fElem = elem;
}
private void tryToFireStateChangeEvent( MouseEvent e ) {
if ( e.getModifiers() == InputEvent.BUTTON2_MASK ) {
if ( fRectangle != null && fRectangle.contains( e.getPoint() ) ) {
boolean highlight = false;
if ( fHighlightElements.containsKey( fElem ) ) {
highlight =
((Boolean) fHighlightElements.get( fElem )).booleanValue();
if ( highlight ) {
highlight = false;
} else {
highlight = true;
}
fHighlightElements.put( fElem, Boolean.valueOf( highlight ) );
} else {
highlight = true;
fHighlightElements.put( fElem, Boolean.valueOf( highlight ) );
}
fMB.fireStateChanged( fElem, highlight );
}
}
}
public void mousePressed(MouseEvent e) {
if (maybeShowPopup(e))
return;
tryToFireStateChangeEvent( e );
}
public void mouseClicked(MouseEvent e) {
if (maybeShowPopup(e))
return;
tryToFireStateChangeEvent( e );
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
if (maybeShowPopup(e))
return;
tryToFireStateChangeEvent( e );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -