예제 #1
0
        //--------------------------------------------------------------------------------------------
        private void AddChild(CCAMLItem item, bool bEditerAvantAjout)
        {
            TreeNode         node   = m_arbreFiltre.SelectedNode;
            CCAMLItemLogical parent = node != null ? node.Tag as CCAMLItemLogical : null;

            if (parent == null && m_arbreFiltre.Nodes.Count > 0)
            {
                return;
            }
            if (bEditerAvantAjout && !ShowProprietes(item))
            {
                return;
            }
            if (parent != null)
            {
                parent.AddChild(item);
                TreeNode newNode = CreateNode(item);
                node.Nodes.Add(newNode);
            }
            else
            {
                m_query.RootItem = item;
                TreeNode newNode = CreateNode(item);
                m_arbreFiltre.Nodes.Add(newNode);
            }
        }
예제 #2
0
        //--------------------------------------------------------------------------------------------
        private void m_menuArbre_Popup(object sender, EventArgs e)
        {
            TreeNode node = m_arbreFiltre.SelectedNode;

            if (node == null && m_arbreFiltre.Nodes.Count > 0)
            {
                return;//Pas de menu
            }
            CCAMLItem item = node != null?node.Tag as CCAMLItem:null;

            m_menuAjouter.Visible = item is CCAMLItemLogical || item == null;
            m_menuInsert.Visible  = item != null;
            m_menuDecalerFilsVersLeHaut.Visible = node != null && (node.Parent != null ||
                                                                   node.Nodes.Count == 1);
        }
예제 #3
0
        //--------------------------------------------
        private TreeNode CreateNode(CCAMLItem item)
        {
            TreeNode node = new TreeNode(item.Libelle);

            node.Tag = item;
            CCAMLItemLogical log = item as CCAMLItemLogical;

            if (log != null)
            {
                foreach (CCAMLItem child in log.Childs)
                {
                    TreeNode childNode = CreateNode(child);
                    node.Nodes.Add(childNode);
                }
            }
            return(node);
        }
예제 #4
0
        //--------------------------------------------------------------------------------------------
        private bool ShowProprietes(CCAMLItem item)
        {
            if (item is CCAMLItemLogical)
            {
                return(true);
            }
            bool bResult = false;

            if (item is CCAMLItemComparaison)
            {
                bResult = CFormEditeComposantCAMLComparaison.EditeComparaison(
                    m_easyQuery,
                    m_fields,
                    item as CCAMLItemComparaison);
            }
            if (item is CCAMLItemNull)
            {
                bResult = CFormEditeComposantCAMLNull.EditeNull(
                    m_easyQuery,
                    m_fields,
                    item as CCAMLItemNull);
            }
            return(bResult);
        }
예제 #5
0
        //--------------------------------------------------------------------------------------------
        private void AddChild(Type typeComposant)
        {
            CCAMLItem item = (CCAMLItem)Activator.CreateInstance(typeComposant);

            AddChild(item, true);
        }