Package reportgen.math.condition.unary

Source Code of reportgen.math.condition.unary.MathExpressionConditionUnaryNullPanel

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* ConditionPanelUnary.java
*
* Created on 28.04.2009, 14:22:13
*/

package reportgen.math.condition.unary;

import reportgen.prototype.context.group.ExpressionEditorPanel;
import java.awt.BorderLayout;
import java.awt.Window;
import reportgen.prototype.context.Context;
import reportgen.prototype.context.ContextMode;
import reportgen.math.MathExpression;
import reportgen.math.MathExpressionOperand;
import reportgen.math.reference.corecol.MathExpressionCoreColumnRef;
import reportgen.math.reference.method.MathExpressionEntityMethodRef;
import reportgen.math.reference.rescol.MathExpressionResultColumnRef;

/**
*
* @author axe
*/
class MathExpressionConditionUnaryNullPanel
        extends ExpressionEditorPanel<MathExpressionConditionUnaryNull> {

    private Window parent;
    private MathExpressionConditionUnaryNull me;
    private ExpressionEditorPanel operandPanel = null;

    public MathExpressionConditionUnaryNullPanel(Window aParent,
            MathExpressionConditionUnaryNull exp) {
        initComponents();
        this.parent = aParent;
        this.me = exp;
        assert me != null;

        mainPanel.add(me.getOperator().getPanel(parent), BorderLayout.NORTH);

        MathExpressionOperand operand = me.getOperand();
        Context localContext = me.getLocalContext();
        //если операнд есть, он сам знает свою панель,
        //иначе придется перебирать режимы контекста и создавать панель, соотв режиму контекста
       
        if(operand != null) {
            //панель останется как нулл
            mainPanel.add(operand.getPanel(parent), BorderLayout.CENTER);

        } else
        {
            if(localContext.getContextMode() == ContextMode.STAGE_3_CONDITIONS) {
            operandPanel =  MathExpressionResultColumnRef.GROUP.getCreatePanel(parent,
                me.getChildContext(MathExpressionResultColumnRef.GROUP)
            );

            } else if (localContext.getContextMode() == ContextMode.STAGE_2_CONDITIONS) {
                operandPanel =  MathExpressionCoreColumnRef.GROUP.getCreatePanel(parent,
                        me.getChildContext(MathExpressionCoreColumnRef.GROUP)
                );

            } else if (localContext.getContextMode() == ContextMode.RESULT) {
                operandPanel =  MathExpressionEntityMethodRef.GROUP.getCreatePanel(parent,
                        me.getChildContext(MathExpressionEntityMethodRef.GROUP)
                );

            } else { //ContextMode.SQL
                operandPanel = new MathExpressionUnaryNullPanel(parent, operand, me, localContext);
            }
            mainPanel.add(operandPanel, BorderLayout.CENTER);
        }

        mainPanel.validate();
    }

    @Override
    public MathExpressionConditionUnaryNull getValue()  {
        if(operandPanel != null) {
            MathExpression value = operandPanel.getValue();
            if(value == null) {
                return null;
            }
            me.setOperand((MathExpressionOperand) value);
        }
        return me;
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel6 = new javax.swing.JPanel();
        mainPanel = new javax.swing.JPanel();

        jPanel6.setLayout(new java.awt.BorderLayout(5, 5));

        mainPanel.setLayout(new java.awt.BorderLayout());
        jPanel6.add(mainPanel, java.awt.BorderLayout.CENTER);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, 376, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 295, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
    }// </editor-fold>//GEN-END:initComponents

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel mainPanel;
    // End of variables declaration//GEN-END:variables
}
TOP

Related Classes of reportgen.math.condition.unary.MathExpressionConditionUnaryNullPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.