示例#1
0
        /// <summary>
        /// entfernt Raum von Seite
        /// </summary>
        private void _siteControl_OnRemoveSite(Site site)
        {
            try
            {
                // Listeneintrag in Index suchen
                ListViewItem item = (ListViewItem)_listViewHash[site.Code];

                // wenn Listeneintrag gefunden, aus Ansicht und Index entfernen
                if (item != null)
                {
                    listView.Items.Remove(item);
                    _listViewHash.Remove(site.Code);
                }

                // Raumansicht in Index suchen
                SiteView siteView = (SiteView)_siteViews[site.Code];

                // wenn Raumansicht gefunden, von Seite und Index entfernen
                if (siteView != null)
                {
                    panelBottom.Controls.Remove(siteView);
                    siteView.Dispose();
                    _siteViews.Remove(site.Code);
                }
            }
            catch (Exception ex)
            {
                Logger.Log.Error("Error on removing site.", ex);
            }
        }
示例#2
0
        /// <summary>
        /// fügt Raum zu Seite hinzu
        /// </summary>
        private void _siteControl_OnAddSite(Site site)
        {
            try
            {
                // neuen Listeneintrag erzeugen
                ListViewItem item = new ListViewItem(site.Code);
                item.SubItems.Add(site.Name);
                item.SubItems.Add(site.DeviceCount.ToString());
                item.Tag = site.Code;

                // Listeneintrag zu Ansicht und Index hinzufügen
                listView.Items.Add(item);
                _listViewHash.Add(site.Code, item);

                // neue Raumansicht erzeugen und konfigurieren
                SiteView siteView = new SiteView(site);
                siteView.Visible     = false;
                siteView.Dock        = DockStyle.Fill;
                siteView.ContextMenu = _siteViewContextMenu;

                // Raumansicht zu Seite und Index hinzufügen
                panelBottom.Controls.Add(siteView);
                _siteViews.Add(site.Code, siteView);

                // initialen Listeneintrag selektieren
                if (listView.Items.Count == 1)
                {
                    item.Selected = true;
                }
            }
            catch (Exception ex)
            {
                Logger.Log.Error("Error on adding site.", ex);
            }
        }
示例#3
0
 /// <summary>
 /// referenziert aktuelle Raumansicht
 /// </summary>
 private void SetCurrentSiteView(SiteView siteView)
 {
     if (_currentSiteView != null)
     {
         _currentSiteView.OnSelectedItemChanged -=
             new SiteView.OnSelectedItemChangedEventHandler(
                 _currentSiteView_OnSelectedItemChanged);
         _currentSiteView = null;
     }
     if (siteView != null)
     {
         _currentSiteView = siteView;
         _currentSiteView.OnSelectedItemChanged +=
             new SiteView.OnSelectedItemChangedEventHandler(
                 _currentSiteView_OnSelectedItemChanged);
     }
 }
示例#4
0
        /// <summary>
        /// zeigt Ansicht des ausgewählten Raumes an
        /// </summary>
        private void listView_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            try
            {
                // alle Raumansichten verbergen
                foreach (SiteView siteView in _siteViews.Values)
                {
                    siteView.Visible = false;
                }

                // wenn Raum ausgewählt
                if (listView.SelectedItems.Count > 0)
                {
                    // Raumansicht suchen
                    ListViewItem item     = listView.SelectedItems[0];
                    SiteView     siteView = (SiteView)_siteViews[item.Tag];

                    // wenn Raumansicht gefunden, anzeigen
                    if (siteView != null)
                    {
                        siteView.Visible = true;
                    }

                    // aktuelle Raumansicht referenzieren
                    SetCurrentSiteView(siteView);
                }
                else
                {
                    // sonst aktuelle Raumansicht freigeben
                    SetCurrentSiteView(null);
                }
            }
            catch (Exception ex)
            {
                Logger.Log.Error("Error on showing site view.", ex);
            }
        }
示例#5
0
        /// <summary>
        /// aktualisiert Raum
        /// </summary>
        private void _siteControl_OnRefreshSite(Site site)
        {
            try
            {
                // Listeneintrag in Index suchen
                ListViewItem item = (ListViewItem)_listViewHash[site.Code];

                // wenn Listeneintrag gefunden, aktualisieren
                if (item != null)
                {
                    item.Text             = site.Code;
                    item.SubItems[1].Text = site.Name;
                    item.SubItems[2].Text = site.DeviceCount.ToString();
                }

                // Raumansicht in Index suchen
                SiteView siteView = (SiteView)_siteViews[site.Code];

                // wenn Raumansicht gefunden, aktualisieren
                if (siteView != null)
                {
                    siteView.RefreshParameters();
                }

                // wenn Listeneintrag ausgewählt, Änderung signalisieren
                if ((listView.SelectedItems.Count > 0) &&
                    (listView.SelectedItems[0].Tag.ToString() == site.Code))
                {
                    RaiseOnSelectedItemChanged();
                }
            }
            catch (Exception ex)
            {
                Logger.Log.Error("Error on refreshing site.", ex);
            }
        }