Ejemplo n.º 1
0
		public MainView()
		{
			MainWindow = new Window("Сервер приложений ГЛОБАЛ");
			statusView = new StatusView();

			MainWindow.DeleteEvent += Window_Delete;
			gkNode = new NodeView();
			gkNode.AppendColumn("Время", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 0);
			gkNode.AppendColumn("Адрес", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 1);
			gkNode.AppendColumn("Название", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 2);
			gkNode.AppendColumn("Прогресс", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 3);
			logNode = new NodeView();
			logNode.AppendColumn("Название", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 0);
			logNode.AppendColumn("Время", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 1);
			logNode.NodeStore = new NodeStore(typeof(LogTreeNode));
			connectionNode = new NodeView();
			connectionNode.AppendColumn("Тип", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 0);
			connectionNode.AppendColumn("Адрес", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 1);
			connectionNode.AppendColumn("Пользователь", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 2);
			connectionNode.ButtonPressEvent += new ButtonPressEventHandler(OnItemButtonPressed);
			pollingNode = new NodeView();
			pollingNode.AppendColumn("Клиент", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 0);
			pollingNode.AppendColumn("Идентификатор", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 1);
			pollingNode.AppendColumn("Первый поллинг", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 2);
			pollingNode.AppendColumn("Последний поллинг", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 3);
			pollingNode.AppendColumn("Индекс", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 4);
			pollingNode.NodeStore = new NodeStore(typeof(PollingTreeNode));
			operationNode = new NodeView();
			operationNode.AppendColumn("Название", new CellRendererText { MaxWidthChars = 80, Height = 20 }, "text", 0);
			operationNode.NodeStore = new NodeStore(typeof(OperationTreeNode));
			Notebook notepadControl = new Notebook();
			notepadControl.AppendPage(connectionNode, new Label("Соединения"));
			notepadControl.AppendPage(logNode, new Label("Лог"));
			notepadControl.AppendPage(statusView.Create(), new Label("Статус"));
			notepadControl.AppendPage(gkNode, new Label("ГК"));
			notepadControl.AppendPage(pollingNode, new Label("Поллинг"));
			notepadControl.AppendPage(operationNode, new Label("Операции"));
			notepadControl.AppendPage(new LicenseView().Create(), new Label("Лицензирование"));
			MainWindow.Add(notepadControl);
			MainWindow.SetDefaultSize(700, 500);
			MainWindow.ShowAll();
			GKLifecycleManager.GKLifecycleChangedEvent += On_GKLifecycleChangedEvent;
			LicenseManager.LicenseChanged += On_LicenseChanged;

			GKLifecycles = new List<KeyValuePair<GKLifecycleInfo, DateTime>>();
			Clients = new List<ClientCredentials>();
			ClientPolls = new List<ClientPoll>();
			ServerTasks = new List<ServerTask>();
			Current = this;
		}