-
Notifications
You must be signed in to change notification settings - Fork 64
/
FormSelectPropertyEnum.cs
65 lines (57 loc) · 1.87 KB
/
FormSelectPropertyEnum.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Name: FormSelectPropertyEnum.cs
// Description: Dialog box for selecting property enumeration
// Author: Tim Chipman
// Origination: Work performed for BuildingSmart by Constructivity.com LLC.
// Copyright: (c) 2013 BuildingSmart International Ltd.
// License: http://www.buildingsmart-tech.org/legal
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using IfcDoc.Schema.DOC;
namespace IfcDoc
{
public partial class FormSelectPropertyEnum : Form
{
DocProject m_project;
public FormSelectPropertyEnum()
{
InitializeComponent();
}
public FormSelectPropertyEnum(DocProject project, DocPropertyEnumeration selection) : this()
{
this.m_project = project;
foreach(DocSection section in project.Sections)
{
foreach(DocSchema schema in section.Schemas)
{
foreach(DocPropertyEnumeration enumeration in schema.PropertyEnums)
{
ListViewItem lvi = new ListViewItem();
lvi.Tag = enumeration;
lvi.Text = enumeration.Name;
this.listView.Items.Add(lvi);
if (selection == enumeration)
{
lvi.Selected = true;
}
}
}
}
}
public DocPropertyEnumeration Selection
{
get
{
if (this.listView.SelectedItems.Count == 1)
{
return this.listView.SelectedItems[0].Tag as DocPropertyEnumeration;
}
return null;
}
}
}
}