The RoofItem is used to display a roof info in the ListView as a ListViewItem.
Inheritance: System.Windows.Forms.ListViewItem
示例#1
0
        /// <summary>
        /// When editRoofButton was click, then create a new RoofEditorForm to edit the selected roof.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void editRoofButton_Click(object sender, EventArgs e)
        {
            if (this.footPrintRoofsListView.SelectedItems.Count != 0 ||
                this.extrusionRoofsListView.SelectedItems.Count != 0)
            {
                RoofItem item = null;
                if (this.roofsTabControl.SelectedTab == this.footprintRoofTabPage)
                {
                    item = this.footPrintRoofsListView.SelectedItems[0] as RoofItem;
                }
                else
                {
                    item = this.extrusionRoofsListView.SelectedItems[0] as RoofItem;
                }

                if (item != null)
                {
                    EditRoofItem(item.ListView, item);
                }
            }
            else
            {
                TaskDialog.Show("Revit", "To edit a roof, you should select a roof or double click a roof in the list first.");
            }
        }
示例#2
0
 /// <summary>
 /// Edit a roof's properties.
 /// </summary>
 /// <param name="item">It contains a roof element.</param>
 private void EditRoofItem(object sender, RoofItem item)
 {
     try
     {
         m_roofsManager.BeginTransaction();
         DialogResult result = DialogResult.None;
         using (RoofEditorForm editorForm = new RoofEditorForm(m_roofsManager, item.Roof))
         {
             result = editorForm.ShowDialog();
         }
         if (result == DialogResult.OK)
         {
             if (m_roofsManager.EndTransaction() == TransactionStatus.Committed)
             {
                 ListView listView = sender as ListView;
                 if (item.Update())
                 {
                     listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
                 }
                 else
                 {
                     m_roofsManager.FootPrintRoofs.Erase(item.Roof);
                     listView.Items.Remove(item);
                     listView.Refresh();
                 }
             }
             else
             {
                 m_roofsManager.AbortTransaction();
             }
         }
         else
         {
             m_roofsManager.AbortTransaction();
         }
     }
     catch (Exception ex)
     {
         TaskDialog.Show("Revit", ex.Message);
         m_roofsManager.AbortTransaction();
     }
 }
示例#3
0
        /// <summary>
        /// When the event occurred, then create a new RoofEditorForm to edit the roof.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void roofsListView_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                RoofItem item = null;
                if (this.roofsTabControl.SelectedTab == this.footprintRoofTabPage)
                {
                    item = this.footPrintRoofsListView.GetItemAt(e.X, e.Y) as RoofItem;
                }
                else
                {
                    item = this.extrusionRoofsListView.GetItemAt(e.X, e.Y) as RoofItem;
                }

                if (item != null)
                {
                    EditRoofItem(sender, item);
                }
            }
        }
示例#4
0
文件: RoofForm.cs 项目: AMEE/revit
 /// <summary>
 /// Edit a roof's properties.
 /// </summary>
 /// <param name="item">It contains a roof element.</param>
 private void EditRoofItem(object sender, RoofItem item)
 {
     try
     {
         m_roofsManager.BeginTransaction();
         DialogResult result = DialogResult.None;
         using (RoofEditorForm editorForm = new RoofEditorForm(m_roofsManager, item.Roof))
         {
             result = editorForm.ShowDialog();
         }
         if (result == DialogResult.OK)
         {
             if (m_roofsManager.EndTransaction() == TransactionStatus.Committed)
             {
                 ListView listView = sender as ListView;
                 if (item.Update())
                 {
                     listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
                 }
                 else
                 {
                     m_roofsManager.FootPrintRoofs.Erase(item.Roof);
                     listView.Items.Remove(item);
                     listView.Refresh();
                 }
             }
             else
             {
                 m_roofsManager.AbortTransaction();
             }
         }
         else
         {
             m_roofsManager.AbortTransaction();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         m_roofsManager.AbortTransaction();
     }
 }