JComponent c = (JComponent) e.getSource();
LayoutManager lm = c.getParent().getLayout();
if ( lm instanceof MigLayout == false ) lm = c.getLayout();
if ( lm instanceof MigLayout ) {
MigLayout layout = (MigLayout) lm;
boolean isComp = layout.isManagingComponent( c );
Object compConstr = isComp ? layout.getComponentConstraints( c ) : null;
if ( isComp && compConstr == null ) compConstr = "";
Object rowsConstr = isComp ? null : layout.getRowConstraints();
Object colsConstr = isComp ? null : layout.getColumnConstraints();
Object layoutConstr = isComp ? null : layout.getLayoutConstraints();
ConstraintsDialog cDlg = new ConstraintsDialog( AdventureFrame.this,
// layoutConstr instanceof LC ? IDEUtil.getConstraintString((LC) layoutConstr, false) : (String) layoutConstr,
// rowsConstr instanceof AC ? IDEUtil.getConstraintString((AC) rowsConstr, false, false) : (String) rowsConstr,
// colsConstr instanceof AC ? IDEUtil.getConstraintString((AC) colsConstr, false, false) : (String) colsConstr,
// compConstr instanceof CC ? IDEUtil.getConstraintString((CC) compConstr, false) : (String) compConstr);
(String) layoutConstr,
(String) rowsConstr,
(String) colsConstr,
(String) compConstr );
cDlg.pack();
cDlg.setLocationRelativeTo( c );
if ( cDlg.showDialog() ) {
try {
if ( isComp ) {
String constrStr = cDlg.componentConstrTF.getText().trim();
layout.setComponentConstraints( c,
constrStr );
if ( c instanceof JButton ) {
c.setFont( BUTT_FONT );
((JButton) c).setText( constrStr.length() == 0 ? "<Empty>" : constrStr );
}
} else {
layout.setLayoutConstraints( cDlg.layoutConstrTF.getText() );
layout.setRowConstraints( cDlg.rowsConstrTF.getText() );
layout.setColumnConstraints( cDlg.colsConstrTF.getText() );
}
} catch ( Exception ex ) {
StringWriter sw = new StringWriter();
ex.printStackTrace( new PrintWriter( sw ) );
JOptionPane.showMessageDialog( SwingUtilities.getWindowAncestor( c ),