Inheritance: MonoBehaviour
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Overview overview = ((App)Application.Current).Overview;

            overview.GD_Content.Children.Clear();
            overview.GD_Content.Children.Add(overview.oUC);
        }
        public async Task <ActionResult <Overview> > PostOverview(Guid clientId, Guid gameId, [FromBody, Bind("Name, Content")] Overview overview)
        {
            try
            {
                if (!(await _auth.Authorized(_repository, Request.Headers["Authorization"].ToString(), clientId.ToString())))
                {
                    return(Forbid());
                }

                Game game = await _repository.GetGameByIDAsync(gameId);

                if (game == null)
                {
                    return(NotFound());
                }
                if (game.ClientID != clientId)
                {
                    return(Forbid());
                }

                Overview newOverview = await _repository.CreateOverviewAsync(gameId, overview.Name, overview.Content);

                return(Created($"api/client/{clientId}/games/{gameId}/overviews/{newOverview.OverviewID}", newOverview));
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }
        private string GetOverviewDetails()
        {
            StringBuilder stringBuilder = new StringBuilder();

            Overview overview = context.Overviews.Local.OrderByDescending(o => o.Date).Take(1).ToArray()[0];

            stringBuilder.AppendLine(string.Format("{0,-20} {1}", "Overview",
                                                   ((DateTime)overview.Date).ToString("dd MMMM yyyy")));
            stringBuilder.AppendLine();
            stringBuilder.AppendLine(string.Format("{0,-20} {1:c}", "Budget",
                                                   overview.Budget));
            stringBuilder.AppendLine(string.Format("{0,-20} {1:c}", "Client Asset",
                                                   overview.ClientAsset));
            stringBuilder.AppendLine(string.Format("{0,-20} {1:c}", "Usable Budget",
                                                   overview.UsableBudget));
            stringBuilder.AppendLine();
            stringBuilder.AppendLine(string.Format("{0,-20} {1:c}", "Total Income",
                                                   overview.TotalIncome));
            stringBuilder.AppendLine(string.Format("{0,-20} {1:c}", "Total Expense",
                                                   overview.TotalExpense));
            stringBuilder.AppendLine();
            stringBuilder.AppendLine(string.Format("{0,-20} {1:c}", "Today Income",
                                                   overview.IncomeOfDate));
            stringBuilder.AppendLine(string.Format("{0,-20} {1:c}", "Today Expense",
                                                   overview.ExpenseOfDate));

            return(stringBuilder.ToString());
        }
Beispiel #4
0
        private void Next_Button_Click(object sender, RoutedEventArgs e)
        {
            Overview overview = new Overview();

            overview.Show();
            this.Close();
        }
        private void OktNetworkMonitor_OnDataUpdatedEvt(OktNetworkMonitor.RecordData pData)
        {
            string sOverKey = pData.Table;

            if (!m_pOverview.ContainsKey(sOverKey))
            {
                Overview pOver = new Overview();
                m_pOverview.Add(sOverKey, pOver);
            }

            // calculate overview
            long     lTotalByte = pData.SizeResponse + pData.SizeRequest;
            Overview pOverview  = m_pOverview[sOverKey];

            pOverview.Key       = sOverKey;
            pOverview.TotalByte = pOverview.TotalByte + lTotalByte;
            pOverview.Avarage   = pOverview.TotalByte / m_pMonitor.m_pDataStorage[sOverKey].Count;
            pOverview.Count++;
            if (lTotalByte > pOverview.Max)
            {
                pOverview.Max = lTotalByte;
            }

            // bake it
            BakeMonitor();
        }
Beispiel #6
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,UserId,FirstName,LastName,PersonalEmail,WorkEmail,MobilePhone,WorkPhone,HomePhone,Address1,Address2,City,State,Zip,Company,Fax")] Overview overview)
        {
            if (id != overview.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(overview);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OverviewExists(overview.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(overview));
        }
Beispiel #7
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Id != 0)
            {
                hash ^= Id.GetHashCode();
            }
            if (Title.Length != 0)
            {
                hash ^= Title.GetHashCode();
            }
            if (imagesUrl_ != null)
            {
                hash ^= ImagesUrl.GetHashCode();
            }
            if (Overview.Length != 0)
            {
                hash ^= Overview.GetHashCode();
            }
            if (Monitored != false)
            {
                hash ^= Monitored.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Beispiel #8
0
 private void OnMouseWheel(WheelEventArgs e)
 {
     NavigationSettings.OnMouseWheel(e);
     Nodes.ReRenderIfOffCanvasChanged();
     Links.TriggerStateHasChanged();
     Overview?.TriggerUpdate(just_pan_or_zoom: true);
 }
Beispiel #9
0
        private void button_logIn_Click(object sender, EventArgs e)
        {
            try
            {
                int          Employeeid       = int.Parse(textBox_Id.Text);
                string       EmployeePassword = textBox_password.Text;
                Employee     employee         = new Employee(Employeeid, EmployeePassword);
                LoginService login            = new LoginService();

                Function function = login.funtion(employee);

                if (login.CheckLogin(employee))
                {
                    if (Enum.IsDefined(typeof(Function), function))
                    {
                        switch (function)
                        {
                        case Function.Owner:
                            OwnerMenu main = new OwnerMenu();
                            main.FormClosed += new FormClosedEventHandler(login_FormClosed);
                            main.Show();
                            this.Hide();
                            break;

                        case Function.Barkeeper:
                            Overview bar = new Overview(employee.function, employee);
                            bar.FormClosed += new FormClosedEventHandler(login_FormClosed);
                            bar.Show();
                            this.Hide();
                            break;

                        case Function.Cook:
                            Overview kitchen = new Overview(employee.function, employee);
                            kitchen.FormClosed += new FormClosedEventHandler(login_FormClosed);
                            kitchen.Show();
                            this.Hide();
                            break;

                        case Function.Waiter:
                            WaiterMenu menu = new WaiterMenu();
                            menu.FormClosed += new FormClosedEventHandler(login_FormClosed);
                            menu.Show();
                            this.Hide();
                            break;

                        default:
                            break;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Wrong ID");
                    }
                }
            }
            catch (Exception error)
            {
                MessageBox.Show(error.ToString());
            }
        }
        public void InitServerFolder(string serverFolder, string serverName)
        {
            // assemble complete update server path
            string completeFolder = serverFolder + Path.DirectorySeparatorChar + serverName;

            // generate new overview
            Overview overview = new Overview {
                Versions = new List <VersionNumber>()
            };
            VersionNumber baseVersion = new VersionNumber("0.0.0.1");

            overview.Versions.Add(baseVersion);
            DeSerializer.Serialize(overview, completeFolder + Path.DirectorySeparatorChar + "overview.xml");

            // create folder for base version
            Directory.CreateDirectory(completeFolder + Path.DirectorySeparatorChar + "0.0.0.1");

            // generate new info.xml for base version
            VersionInformation baseInfo  = new VersionInformation();
            VersionNumber      appliesTo = new VersionNumber("0.0.0.0");

            baseInfo.AppliesToVersion = appliesTo;
            baseInfo.ResultsInVersion = baseVersion;
            baseInfo.Files            = new List <UpdateFile>();
            DeSerializer.Serialize(baseInfo, completeFolder + Path.DirectorySeparatorChar + "0.0.0.1" + Path.DirectorySeparatorChar + "info.xml");
        }
Beispiel #11
0
        void GivenThatTheBusMonitorReturnsAnOverview(bool expectFresh)
        {
            _expected = new Subscription {
                Name = "testsubscription"
            };
            var overview = new Overview
            {
                Topics = new List <Topic>
                {
                    new Topic {
                        Name = "testtopic", Subscriptions = new List <Subscription> {
                            _expected
                        }
                    },
                    new Topic {
                        Name = "testtopic2", Subscriptions = new List <Subscription> {
                            new Subscription {
                                Name = "testsubscription2"
                            }
                        }
                    },
                }
            };

            _busMonitor.GetOverview(expectFresh).Returns(overview);
        }
Beispiel #12
0
        public StatusMessage InsertStockOverview(Overview data)
        {
            StatusMessage result = new StatusMessage();

            if (_stockContext != null)
            {
                try
                {
                    if (!_stockContext.Overviews.Any(x => x.Code.Equals(data.Code, StringComparison.InvariantCultureIgnoreCase)))
                    {
                        _stockContext.Overviews.Add(data);
                        _stockContext.SaveChanges();

                        result = new StatusMessage(MSG_TYPE.SUCCESS, "Datos insertados correctamente");
                    }
                }
                catch (Exception error)
                {
                    LoggerHelper.LogException(true, error);
                    result = GetErrorMessage(error);
                }
            }

            return(result);
        }
Beispiel #13
0
        public async Task SendUpdatedList(Overview overview)
        {
            var json   = JsonConvert.SerializeObject(overview);
            var buffer = new ArraySegment <byte>(Encoding.UTF8.GetBytes(json));

            for (var i = 0; i < _clients.Count; i++)
            {
                var client = _clients[i];

                try
                {
                    if (client.State == WebSocketState.Open)
                    {
                        await client.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None);
                    }
                }

                catch (ObjectDisposedException)
                {
                    RemoveClient(client);
                    i--;
                }
                catch (Exception e)
                {
                    _logger.Error("Unexpected error while sending message to ws client", e);
                }
            }
        }
Beispiel #14
0
        public Overview SearchStockOverview(string stockCode)
        {
            var result = new Overview();

            if (!string.IsNullOrEmpty(stockCode))
            {
                var strUrl         = COMPANY_OVERVIEW_ENDPOINT.Replace("***", stockCode) + _keyHelper.GetKey();
                var endPointResult = CallEndPoint(strUrl);

                if (!endPointResult.Contains(LIMIT_REACHED) && !endPointResult.Contains(INVALID_CALL))
                {
                    // Hack: A veces no hay error, pero tampoco nos devuelven datos
                    if (endPointResult.Equals("{}"))
                    {
                        return(null);
                    }
                    else
                    {
                        result      = CreateStockOverviewFromJson(endPointResult);
                        result.Code = stockCode;
                    }
                }
                else
                {
                    _bus?.Publish(new MsgReportToUser(this, new StatusMessage()
                    {
                        MsgType = MSG_TYPE.WARNING, MsgText = "Hemos alcanzado el limite de llamadas a la api"
                    }));
                }
            }

            return(result);
        }
        protected async override void OnAppearing()
        {
            base.OnAppearing();
            await Task.Delay(2000);

            BackdropPath.TranslationY = 600;
            BackdropPath.IsVisible    = true;
            await BackdropPath.TranslateTo(0, 0, 500, Easing.SinIn);

            await Task.Delay(700);

            Title.TranslationY = 600;
            Title.IsVisible    = true;
            await Title.TranslateTo(0, 0, 500, Easing.SinInOut);

            await Task.Delay(400);

            TheGenres.TranslationY = 600;
            TheGenres.IsVisible    = true;
            await TheGenres.TranslateTo(0, 0, 500, Easing.SinInOut);

            await Task.Delay(500);

            await Overview.TranslateTo(0, 0, 500, Easing.BounceOut);
        }
        public void CopyOverview()
        {
            if (ID_LB != null)
            {
                Overview = LBRelease?.Overview;
            }

            if ((Overview == null || Overview.Length < 20) && ID_GDB != null)
            {
                Overview = GDBRelease?.Overview;
            }

            if ((Overview == null || Overview.Length < 20) && ID_GB != null)
            {
                Overview = GBRelease?.Overview;
            }

            if ((Overview == null || Overview.Length < 20) && ID_OVG != null)
            {
                Overview = OVGRelease?.Overview;
            }
            if (!string.IsNullOrEmpty(Overview))
            {
                Overview = Overview.CleanHtml();
            }
        }
Beispiel #17
0
        public Overview GetOverviewData()
        {
            String result = Http.Post(FritzBoxConstants.DATAPAGE, new NameValueCollection()
            {
                { "sid", sid },
                { "lang", "de" },
                { "page", "overview" },
            });
            dynamic  data     = JsonConvert.DeserializeObject <ExpandoObject>(result);
            Overview overview = new Overview();

            foreach (dynamic call in data.data.foncalls.calls)
            {
                Call tmp = new Call()
                {
                    Display = call.display, Name = call.name, Number = call.number
                };
                tmp.SetCallSatus(call.classes);
                tmp.SetTime(call.time);
                overview.Calls.Add(tmp);
            }
            foreach (dynamic device in data.data.net.devices)
            {
                Device tmp = new Device()
                {
                    Name = device.name, Type = device.type, Url = device.url
                };
                tmp.SetDeviceSatus(device.classes);
                overview.Devices.Add(tmp);
            }
            return(overview);
        }
Beispiel #18
0
 void GivenThatTheBusMonitorReturnsAnOverview()
 {
     _expected = new Overview {
         Queues = new List <Queue>()
     };
     _busMonitor.GetOverview().Returns(_expected);
 }
Beispiel #19
0
        private void Overview_MouseUp(object sender, MouseEventArgs mouseEvent)
        {
            if (mouseEvent.Button != MouseButtons.Right)
            {
                return;
            }

            for (int i = 0; i < Overview.TabCount; i++)
            {
                Rectangle tabRectangle = Overview.GetTabRect(i);

                if (!tabRectangle.Contains(mouseEvent.Location))
                {
                    continue;
                }

                if (Overview.SelectedIndex != i)
                {
                    continue;
                }

                checkUncheckDotStrip.Show(Overview, mouseEvent.Location);
                break;
            }
        }
Beispiel #20
0
        private async void Update()
        {
            DateChangeable = false;
            Loading        = Visibility.Visible;

            ((App)Application.Current).AppData.Load(displayDate);
            MyDay today = ((App)Application.Current).AppData.AllDays[displayDate];

            Dictionary <string, Software> overView = today.GetOverView();

            DailyTime = await GenerateSumTime(overView);

            OverviewChart = await GenerateChart(today.GetTimeline());

            UpdateTime = LanguageHelper.InquireLocalizedWord("General_LastUpdate") + DateTime.Now.ToString("H:mm");

            Overview.Clear();
            foreach (OverViewItem item in await GenerateList(overView))
            {
                Overview.Add(item);
                MyDeviceHelper.DoEvents();
            }

            DateChangeable = true;
            Loading        = Visibility.Hidden;
        }
Beispiel #21
0
        private void EndLink(MouseEventArgs e)
        {
            var link = ActionObject.Link;
            var node = ActiveElement.Node;

            if (node == null && !link.Links.AllowFreeFloatingLinks)
            {
                // free-floating links are not allowed and this action would not attach the link to a node
                return;
            }
            if (node != null)
            {
                link.Target.Node      = node;
                link.Target.RelativeX = e.RelativeXTo(node);
                link.Target.RelativeY = e.RelativeYTo(node);
            }
            else
            {
                link.Target.RelativeX = e.RelativeXToOrigin(this);
                link.Target.RelativeY = e.RelativeYToOrigin(this);
            }
            link.Deselect();
            link.Links.OnModified?.Invoke(link);
            Overview?.TriggerUpdate();
            Changes.New(new ChangeAction(() => { Links.Add(link); }, () => { Links.Remove(link); }));
            ActionObject.Clear();
            ActionType = ActionType.None;
        }
Beispiel #22
0
        private void FixNodeAnchor(MouseEventArgs e)
        {
            var(anchor, old_node, old_x, old_y) = (ActionObject.Anchor, ActionObject.Node, ActionObject.X, ActionObject.Y);
            var node = ActiveElement.Node;

            if (node == null && !ActionObject.Link.Links.AllowFreeFloatingLinks)
            {
                // free-floating links are not allowed and this action would not attach the link to a node
                return;
            }
            var(x, y) = (node != null) ? e.RelativeTo(node) : e.RelativeToOrigin(this);
            Changes.NewAndDo(new ChangeAction(() =>
            {
                anchor.Node      = node;
                anchor.RelativeX = x;
                anchor.RelativeY = y;
            }, () =>
            {
                anchor.Node      = old_node;
                anchor.RelativeX = old_x;
                anchor.RelativeY = old_y;
            }));
            Overview?.TriggerUpdate();
            ActionObject.Link.Deselect();
            ActionObject.Link.Links.OnModified?.Invoke(ActionObject.Link);
            ActionObject.Clear();
            ActionType = ActionType.None;
        }
Beispiel #23
0
    private void UIDefineInitalize()
    {
        CategoryTitle    = GameObject.Find("DashBoard/Canvas/MainPanel/CategoryTitle");
        Overview         = GameObject.Find("DashBoard/Canvas/MainPanel/Overview");
        Inventory        = GameObject.Find("DashBoard/Canvas/MainPanel/Inventory");
        Config           = GameObject.Find("DashBoard/Canvas/MainPanel/Config");
        Save             = GameObject.Find("DashBoard/Canvas/MainPanel/Save");
        Load             = GameObject.Find("DashBoard/Canvas/MainPanel/Load");
        Exit             = GameObject.Find("DashBoard/Canvas/MainPanel/Exit");
        PlayedTime       = GameObject.Find("DashBoard/Canvas/MainPanel/Overview/PlayedTime");
        Reputation       = GameObject.Find("DashBoard/Canvas/MainPanel/Overview/Reputation");
        Language         = GameObject.Find("DashBoard/Canvas/MainPanel/Config/Language");
        GraphicsQuality  = GameObject.Find("DashBoard/Canvas/MainPanel/Config/GraphicsQuality");
        TextureQuality   = GameObject.Find("DashBoard/Canvas/MainPanel/Config/TextureQuality");
        FoV              = GameObject.Find("DashBoard/Canvas/MainPanel/Config/FoV");
        QualityValue     = GameObject.Find("DashBoard/Canvas/MainPanel/Config/GraphicsQuality/QualityValue");
        GQ_LeftArrow     = GameObject.Find("DashBoard/Canvas/MainPanel/GQ_LeftArrow/Text");
        GQ_RightArrow    = GameObject.Find("DashBoard/Canvas/MainPanel/GQ_RightArrow/Text");
        LDD              = GameObject.Find("DashBoard/Canvas/MainPanel/Config/Language/LangDropdown");
        LDD_Label        = GameObject.Find("DashBoard/Canvas/MainPanel/Config/Language/LangDropdown/Label");
        LDD_Arrow        = GameObject.Find("DashBoard/Canvas/MainPanel/Config/Language/LangDropdown/Arrow");
        PlayerCamera     = GameObject.Find("Environment/Player/Camera");
        FoVSliderValue   = GameObject.Find("DashBoard/Canvas/MainPanel/FoVSlider");
        InteractionGuide = GameObject.Find("DashBoard/Canvas/InteractionPanel/InteractionGuide");
        AdaptationRate   = GameObject.Find("DashBoard/Canvas/InfoPanel/AdaptationRate");
        TalkPanel        = GameObject.Find("DashBoard/Canvas/TalkPanel");
        TalkHeader       = GameObject.Find("DashBoard/Canvas/TalkPanel/TalkHeader");
        TalkContent      = GameObject.Find("DashBoard/Canvas/TalkPanel/TalkContent");
        Cat_Overview     = GetUITextContent("DashBoard_OverView");
        Cat_Inventory    = GetUITextContent("DashBoard_Inventory");
        Cat_Config       = GetUITextContent("DashBoard_Settings");
        Cat_Load         = GetUITextContent("DashBoard_Load");
        Cat_Save         = GetUITextContent("DashBoard_Save");
        Cat_Exit         = GetUITextContent("DashBoard_Exit");
        Qua_vlow         = GetUITextContent("Config_GraphicQuality_Level1");
        Qua_low          = GetUITextContent("Config_GraphicQuality_Level2");
        Qua_mid          = GetUITextContent("Config_GraphicQuality_Level3");
        Qua_midhigh      = GetUITextContent("Config_GraphicQuality_Level4");
        Qua_high         = GetUITextContent("Config_GraphicQuality_Level5");
        Qua_vhigh        = GetUITextContent("Config_GraphicQuality_Level6");
        Day              = GetUITextContent("Overview_Day");
        Hour             = GetUITextContent("Overview_Hour");
        Minute           = GetUITextContent("Overview_Minute");
        Second           = GetUITextContent("Overview_Second");
        IA_Talk          = GetUITextContent("Interaction_Talk");
        IA_Steal         = GetUITextContent("Interaction_Steal");
        IA_Gather        = GetUITextContent("Interaction_Gather");
        IA_Harvest       = GetUITextContent("Interaction_Harvest");
        IA_Take          = GetUITextContent("Interaction_Take");
        IA_Use           = GetUITextContent("Interaction_Use");
        Overview.GetComponent <Text>().text  = GetUITextContent("DashBoard_OverView");
        Inventory.GetComponent <Text>().text = GetUITextContent("DashBoard_Inventory");
        Config.GetComponent <Text>().text    = GetUITextContent("DashBoard_Settings");
        Save.GetComponent <Text>().text      = GetUITextContent("DashBoard_Save");
        Load.GetComponent <Text>().text      = GetUITextContent("DashBoard_Load");
        Exit.GetComponent <Text>().text      = GetUITextContent("DashBoard_Exit");

        FoVSliderValue.GetComponent <Slider>().value = PlayerCamera.GetComponent <Camera>().fieldOfView;
    }
Beispiel #24
0
 private void ReRender()
 {
     Nodes.TriggerStateHasChanged();
     Links.TriggerStateHasChanged();
     Links.Redraw();
     Overview?.TriggerUpdate();
     StateHasChanged();
 }
Beispiel #25
0
        public void OverviewInitCorrectly()
        {
            var overview = new Overview(Guid.NewGuid(), "test", "");

            Assert.IsType <Guid>(overview.GameID);
            Assert.IsType <Guid>(overview.TypeID);
            Assert.IsType <Guid>(overview.OverviewID);
        }
Beispiel #26
0
        private void FollowCursorForLinkTarget(MouseEventArgs e)
        {
            var link = ActionObject.Link;

            link.Target.RelativeX = e.RelativeXToOrigin(this);
            link.Target.RelativeY = e.RelativeYToOrigin(this);
            Overview?.TriggerUpdate();
        }
        private void OnSuccessfullLogin(object sender, EventArgs e)
        {
            var overview = new Overview();

            overview.OperationManagement_Click += CallOperationManagement;

            SetContent(overview);
        }
Beispiel #28
0
        public API(User user)
        {
            OverviewStats = new Overview(user);
            GameModeStats = new GameMode(user);
            ClassStats    = new Class(user);

            Exception = user.Exception;
        }
Beispiel #29
0
        public override int GetHashCode()
        {
            int result = 1;

            result = (result * 397) ^ (Overview != null ? Overview.GetHashCode() : 0);
            result = (result * 397) ^ (CourseType != null ? CourseType.GetHashCode() : 0);
            result = (result * 397) ^ Id.GetHashCode();
            return(result);
        }
 private void InitOnServerChanged(string folderPath)
 {
     _currentlyOpenedServer              = folderPath;
     _attachedForm.SelectedServer        = _currentlyOpenedServer;
     _currentServerOverview              = _overviewService.GetOverviewFromFile(_fileSystemService.GetCompletePath(_currentlyOpenedServer, OverviewFile));
     _attachedForm.AvailableVersions     = _overviewService.GetVersionsFromOverview(_currentServerOverview);
     Settings.Default.LastUsedServerPath = _currentlyOpenedServer;
     Settings.Default.Save();
 }
Beispiel #31
0
 public void AddItemToShop()
 {
     Item item = new Item("ID0001", "Cestitka 1");
     Shop shop = new Shop("trgovina 1");
     Price price = new Price(4, 3.2) {ItemId = item.UniqueId, ShopId = shop.Id};
     ShopItem shopItem = new ShopItem {ItemId = item.UniqueId, ShopId = shop.Id, PriceId = price.Id};
     Assert.IsNotNull(shopItem, "Items not added to shop!");
     shopItem.SetNumberOfItems(3);
     Assert.AreEqual(3, shopItem.NumberOfItems, "ShopItem missmatch!");
     Overview overview = new Overview();
     overview.AddShopItem(shopItem);
     Overview temp = overview;
 }
        public ModelOverviewForm(WbContext WbContext, Overview be)
        {
            InitializeComponent();

              wbContext = WbContext;
              wbOverview = be;

              UpdateTabText();
              workbenchMenuManager = new WorkbenchMenuManager(wbContext);
              userDatatypesForm = new UserDatatypesForm(wbContext);
              historyForm = new UndoHistoryForm(wbContext);
              modelObjectDescriptionForm = new ModelObjectDescriptionForm(wbContext);

              wheelMessageFilter = new WheelMessageFilter(this);
              Application.AddMessageFilter(wheelMessageFilter);

              SetupSideBar();
              UpdateColors();
        }
        /// <summary>
        /// Returns the listview for a given section. If it does not exist yet it gets created.
        /// Optionally a simple panel is added as header for this section.
        /// </summary>
        private ListView GetSectionListview(NodeIdWrapper controlNodeId, CollapsingPanel overviewPanel, bool addSectionHeader,
            Overview.DisplayMode displayMode, String caption, String info)
        {
            // Iterate over all sections we have already and find the one with the given control id.
              String objectId = wbOverview.get_node_unique_id(controlNodeId);
              foreach (Control control in overviewPanel.Controls)
              {
            if (control.Tag != null)
            {
              String currentObjectId = (control.Tag as Identifier).objectId;
              if (currentObjectId != null && currentObjectId == objectId)
              {
            ListView listview = control as ListView;
            SetViewMode(listview, displayMode);
            return listview;
              }
            }
              }

              // If we come here then the section does not exist yet, so add it. Start with a header.
              if (addSectionHeader)
              {
            Panel panel = new Panel();
            panel.BorderStyle = BorderStyle.None;
            panel.Padding = new Padding(5, 2, 5, 0);
            panel.BackgroundImage = Resources.header_bar_blue;
            panel.BackgroundImageLayout = ImageLayout.None;

            panel.Height = 24;

            // Insert client controls in reverse order.
            // Info label.
            Label infoLabel = new Label();
            infoLabel.Text = info;
            infoLabel.ForeColor = Color.Gray;
            infoLabel.Font = overviewPanel.Font;
            infoLabel.AutoSize = true;
            infoLabel.Margin = new Padding(10, 0, 0, 0);
            infoLabel.Dock = DockStyle.Left;
            panel.Controls.Add(infoLabel);

            overviewPanel.Controls.Add(panel);

            // Caption label.
            Label captionLabel = new Label();
            captionLabel.Text = caption;
            //captionLabel.Font = new Font(overviewPanel.Font, FontStyle.Bold);
            captionLabel.AutoSize = true;
            captionLabel.Dock = DockStyle.Left;
            captionLabel.ForeColor = Color.Black;
            panel.Controls.Add(captionLabel);

            overviewPanel.Controls.Add(panel);
              }

              // Then the content view.
              ListView sectionListview = new ListView();
              sectionListview.BorderStyle = BorderStyle.None;
              sectionListview.AllowColumnReorder = true;
              sectionListview.ShowItemToolTips = true;

              // Undocumented feature: enabling AutoSize will indeed make the control automatically resize
              // (the docs say it wouldn't) though without considering long captions. For them to work
              // additionally Scrollable can be set to true to show a scrollbar, but only in this special case.
              sectionListview.AutoSize = true;
              sectionListview.MultiSelect = false;
              sectionListview.Scrollable = true;
              sectionListview.Visible = true;
              sectionListview.Font = overviewPanel.Font;
              sectionListview.Tag = CreateIdentifier(controlNodeId);
              sectionListview.Sorting = SortOrder.None; // We do custom sort.

              sectionListview.DoubleClick += new EventHandler(listViewDoubleClick);
              sectionListview.ItemDrag += new ItemDragEventHandler(listViewItemDrag);
              sectionListview.SelectedIndexChanged += new EventHandler(listViewSelectedIndexChanged);
              sectionListview.KeyDown += new KeyEventHandler(listViewKeyDown);
              sectionListview.MouseUp += new MouseEventHandler(listViewMouseUp);
              sectionListview.ColumnClick += new ColumnClickEventHandler(ListviewColumnClick);
              sectionListview.Enter += new EventHandler(ListViewEnter);

              // Renaming of overview nodes
              sectionListview.LabelEdit = true;
              sectionListview.AfterLabelEdit += new LabelEditEventHandler(listViewAfterLabelEdit);
              sectionListview.BeforeLabelEdit += new LabelEditEventHandler(listViewBeforeLabelEdit);

              // Add it to the panel. Usually the layout engine of the panel should take care for
              // the layout of the controls, but just to be sure we set here a dock style.
              overviewPanel.Controls.Add(sectionListview);
              sectionListview.Dock = DockStyle.Top;

              // Set Image Lists
              sectionListview.SmallImageList = IconManagerWrapper.ImageList16;
              sectionListview.LargeImageList = IconManagerWrapper.ImageList48;

              SetViewMode(sectionListview, displayMode);

              sectionListview.Update();
              return sectionListview;
        }
        private void FillPanelContent(NodeIdWrapper panelNodeId, Overview.DisplayMode displayMode, CollapsingPanel overviewPanel)
        {
            // Check the node type of the child items
              int itemNodeType;
              wbOverview.get_field(panelNodeId, (int)Overview.Columns.ChildNodeType, out itemNodeType);

              switch ((Overview.NodeType)itemNodeType)
              {
            case Overview.NodeType.Group:
              {
            // If the child items are of type Group, add them as tabs.
            EnableTabViewForPanel(displayMode, overviewPanel);

            // Fill child items
            if (wbOverview.count_children(panelNodeId) > 0)
              FillPanelContent(wbOverview.get_child(panelNodeId, 0), currentOverviewDisplayMode, overviewPanel);
              }
              break;
            case Overview.NodeType.Section:
              // If they are of item type Section populate the list view with sections and items.
              PopulateSections(overviewPanel, displayMode, true);
              break;
            case Overview.NodeType.Item:
              {
            // If the child entry is an item thean we don't have any intermediate structure.
            ListView sectionListview = GetSectionListview(panelNodeId, overviewPanel, false, displayMode, "", "");
            cacheListview(panelNodeId.toString(), sectionListview);
            PopulateListView(panelNodeId, sectionListview);
            break;
              }
              }
        }
        /// <summary>
        /// Sets the given panel up so that it shows tabs on top that can be used to switch content.
        /// </summary>
        /// <param name="displayMode"></param>
        /// <param name="overviewPanel"></param>
        private void EnableTabViewForPanel(Overview.DisplayMode displayMode, CollapsingPanel overviewPanel)
        {
            overviewPanel.TabHeaderImageList = new ImageList();
              overviewPanel.TabHeaderImageList.ColorDepth = ColorDepth.Depth32Bit;
              overviewPanel.TabHeaderImageList.ImageSize = new Size(32, 32);

              overviewPanel.TabHeaderImageList = IconManagerWrapper.ImageList32;

              overviewPanel.DisplayMode = CollapsingPanelDisplayMode.HeaderAndTab;

              overviewPanel.TabCountNeeded += new TabCountHandler(overviewPanel_TabCountNeeded);
              overviewPanel.TabInfoNeeded += new TabInfoHandler(overviewPanel_TabInfoNeeded);
              overviewPanel.TabChanged += new TabChangedHandler(overviewPanel_TabChanged);
              overviewPanel.TabDoubleClicked += new MouseEventHandler(overviewPanel_TabDoubleClicked);
              overviewPanel.TabHeaderMouseUp += new MouseEventHandler(overviewPanel_TabHeaderMouseUp);

              // Select the first tab to populate the ListView
              overviewPanel.SelectedTabIndex = 0;

              overviewPanel.DisplayTabActionButtons = true;
              overviewPanel.TabAddButtonClicked += new EventHandler(overviewPanel_TabAddButtonClicked);
              overviewPanel.TabDelButtonClicked += new EventHandler(overviewPanel_TabDelButtonClicked);

              // Buttons for display mode.
              overviewPanel.DisplayCustomButtons = true;
              overviewPanel.CustomButtonClicked += new CustomButtonEvent(overviewPanel_CustomButtonClicked);

              overviewPanel.AddCustomButton(26, 23, "collapsing_panel_grid_large_icons",
            displayMode == Overview.DisplayMode.LargeIcon);
              overviewPanel.AddCustomButton(26, 23, "collapsing_panel_grid_small_icons",
            displayMode == Overview.DisplayMode.SmallIcon);
              overviewPanel.AddCustomButton(26, 23, "collapsing_panel_grid_details",
            displayMode == Overview.DisplayMode.List);
        }
 private void SetViewMode(ListView view, Overview.DisplayMode mode)
 {
     View newViewMode = displayMode2ViewMode[(int)mode];
       SetViewMode(view, newViewMode);
 }
        private void SetViewMode(CollapsingPanel panel, Overview.DisplayMode mode)
        {
            foreach (Control control in panel.Controls)
            if (control is ListView)
              SetViewMode(control as ListView, mode);

              panel.PerformLayout();
        }
        private void RefreshItemList(NodeIdWrapper node, Overview.NodeType nodeType)
        {
            if (listsByNode.ContainsKey(node.toString()))
              {
            ListView list = listsByNode[node.toString()];

            if (nodeType == Overview.NodeType.Section)
            {
              int childCount = wbOverview.count_children(node) - 1;
              String info = "(" + childCount + ((childCount == 1) ? " item" : " items") + ")";
              SetInfoLabelForList(list, info);
            }

            if (list.View == View.Details)
              SaveColumnStates(list);

            PopulateListView(node, list);

            if (list.View == View.Details)
              RestoreColumnStates(list);
              }
        }
        /// <summary>
        /// Fills the given panel with a number of sections (simple panel + listview pair) per section
        /// entry in wbOverview.
        /// </summary>
        private void PopulateSections(CollapsingPanel overviewPanel, Overview.DisplayMode displayMode, bool setDefaultTabPage)
        {
            if (overviewPanel != null && overviewPanel.Tag != null)
              {
            overviewPanel.SuspendLayout();
            try
            {
              NodeIdWrapper parentNodeId = null;

              // If this panel has tabs, choose the NodeId of the selected tab as parent.
              if (overviewPanel.DisplayMode == CollapsingPanelDisplayMode.HeaderAndTab ||
            overviewPanel.DisplayMode == CollapsingPanelDisplayMode.TabsOnly)
              {
            // make sure the selected index is still valid
            int count = wbOverview.count_children((overviewPanel.Tag as Identifier).id);
            if (count > 0)
            {
              int default_tab_page_index = wbOverview.get_default_tab_page_index();
              if (setDefaultTabPage && default_tab_page_index != -1)
              {
                overviewPanel.SelectedTabIndex = default_tab_page_index;
              }
              else if (overviewPanel.SelectedTabIndex > count - 1)
              {
                if (count > 0)
                  overviewPanel.SelectedTabIndex = count - 1;
                else
                  overviewPanel.SelectedTabIndex = 0;
              }

              parentNodeId = wbOverview.get_child((overviewPanel.Tag as Identifier).id,
                overviewPanel.SelectedTabIndex);

              // reselect the tab
              wbOverview.focus_node(parentNodeId);
            }
            else
            {
              overviewPanel.SelectedTabIndex = 0;
              parentNodeId = null;
            }
              }
              else
            // If this panel has no tabs, choose the NodeId of the panel itself as parent
            if (overviewPanel.DisplayMode == CollapsingPanelDisplayMode.Normal)
              parentNodeId = (overviewPanel.Tag as Identifier).id;

              if (parentNodeId != null)
              {
            int itemCount = wbOverview.count_children(parentNodeId);
            if (itemCount > 0)
            {
              NodeIdWrapper itemNodeId = wbOverview.get_child(parentNodeId, 0);

              // Check the node type of the child items
              int nodeType;
              wbOverview.get_field(itemNodeId, (int)Overview.Columns.NodeType, out nodeType);

              // If the node type is secion, loop over all sections and add them
              if (nodeType == (int)Overview.NodeType.Section)
              {
                for (int i = 0; i < itemCount; i++)
                {
                  NodeIdWrapper sectionNodeId = wbOverview.get_child(parentNodeId, i);

                  string caption;
                  wbOverview.get_field(sectionNodeId, (int)Overview.Columns.Label, out caption);

                  // Determine child count for info display but don't consider the default entry.
                  int childCount = wbOverview.count_children(sectionNodeId) - 1;
                  String info = "(" + childCount + ((childCount == 1) ? " item" : " items") + ")";
                  ListView sectionListview = GetSectionListview(sectionNodeId, overviewPanel, true, displayMode, caption, info);

                  cacheListview(sectionNodeId.toString(), sectionListview);

                  PopulateListViewColumns(sectionNodeId, sectionListview, displayMode);

                  PopulateListView(sectionNodeId, sectionListview);

                  if (sectionListview.View == View.Details)
                    RestoreColumnStates(sectionListview);
                }
              }
              else
              {
                // If there are no sections, simple add the items.
                ListView sectionListview = GetSectionListview(parentNodeId, overviewPanel, false, displayMode, "", "");
                cacheListview(parentNodeId.toString(), sectionListview);
                PopulateListView(parentNodeId, sectionListview);
              }
            }
              }
            }
            finally
            {
              overviewPanel.ResumeLayout();
            }
              }
        }
        private void PopulateListViewColumns(NodeIdWrapper sectionNodeId, ListView sectionListview, Overview.DisplayMode displayMode)
        {
            // Refresh columns for this view.
              sectionListview.Columns.Clear();
              sectionListview.Columns.Add("Name", 200);

              // Only add more columns if we are not in tile view mode.
              // We add columns also for large icon view, even though we don't see them, as we can then
              // quicker switch between large icon and tile view (no need to re-populate the view then).
              if (displayMode == Overview.DisplayMode.List)
              {
            int columnCount = wbOverview.get_details_field_count(sectionNodeId);
            for (int counter = 0; counter < columnCount; counter++)
            {
              String columnCaption = wbOverview.get_field_name(sectionNodeId,
            (int)Overview.Columns.FirstDetailField + counter);
              sectionListview.Columns.Add(columnCaption, 100);
            }
              }
        }