/// <summary> /// Method to add form for the workspace /// </summary> /// <param name="workSpaceid"></param> private void AddWorkspaceForm(int workSpaceid) { foreach (Form childForm in MdiChildren) { //childForm.Close(); var winState = childForm.WindowState; Point location; Size size; if (childForm.WindowState == FormWindowState.Normal) { // save location and size if the state is normal location = childForm.Location; size = childForm.Size; } else { // save the RestoreBounds if the form is minimized or maximized! location = childForm.RestoreBounds.Location; size = childForm.RestoreBounds.Size; } LocationModel model = new LocationModel(); model.formName = childForm.Tag.ToString(); model.LocationX = location.X; model.LocationY = location.Y; model.SizeX = size.Width; model.SizeY = size.Height; model.WindowState = winState.ToString(); model.formUniqueName = childForm.Name; model.WorkspaceId = workSpaceid; model.formTitle = childForm.Text; SQLiteDBOperation.AddFormsLocation(model); } }
private void LoadFormToolState() { var toolState = SQLiteDBOperation.ReteriveFormToolState(this.Name); candleTimeFrame = toolState?.TimeFrame ?? "1m"; if (toolState != null) { panelVisible = Convert.ToBoolean(toolState.VisibleState == 1 ? true : false); if (!panelVisible) { panelTools.Visible = false; } isLocked = Convert.ToBoolean(toolState.LockState == 1 ? true : false); if (isLocked) { foreach (var item in panelTools.Controls) { var button = item as KryptonButton; if (button != null && button.Name != "BtnLockUnLock") { button.Enabled = false; } } } } }
private void SaveChartParamters(frmCharts chart) { var zoomList = chart.zoomList; SQLiteDBOperation.DeleteZoomList(chart.Name); if (zoomList != null && zoomList.Count > 0) { foreach (var item in zoomList) { SQLiteDBOperation.SaveZoomList(item, chart.Name); } } var annotations = chart.annotationList; SQLiteDBOperation.DeleteAnnotation(chart.Name); if (annotations != null && annotations.Count > 0) { foreach (var item in chart.annotationList) { SQLiteDBOperation.SaveAnnotation(item, chart.Name); } } SQLiteDBOperation.DeleteFormToolState(chart.Name); var toolState = new FormState(); toolState.FormUniqueName = chart.Name; toolState.LockState = chart.isLocked == true ? 1 : 0; toolState.VisibleState = chart.panelVisible == true ? 1 : 0; toolState.TimeFrame = chart.candleTimeFrame; SQLiteDBOperation.SaveFormToolState(toolState); }
/// <summary> /// Reterive first workspace that exist in the DB. /// </summary> private void ReteriveWorkSpace() { var result = SQLiteDBOperation.ReteriveWorkspace(); var toolStripeMenu = workspaceToolStripMenuItem; bool firstTime = true; workspaceToolStripMenuItem.DropDownItems.Clear(); AddFixedWorkspace(); foreach (var item in result) { ToolStripMenuItem menuItem = new ToolStripMenuItem(); menuItem.Name = item.Id.ToString(); menuItem.Text = item.WorkspaceName; menuItem.Click += MenuItem_Click; if (firstTime) { menuItem.Checked = true; firstTime = false; } workspaceToolStripMenuItem.DropDownItems.Add(menuItem); } if (result.Count > 0) { currentWorkspaceId = result[0].Id; ReteriveWindowLocations(result[0].Id); lblShowActiveWorkspace.Text = result[0].WorkspaceName; } }
/// <summary> /// Remove active workspace and it forms from DB also /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void toolStripRemoveWorkspace_Click(object sender, EventArgs e) { SQLiteDBOperation.RemoveWorkspace(currentWorkspaceId); foreach (Form childForm in MdiChildren) { childForm.Close(); } workspaceToolStripMenuItem.DropDownItems.RemoveByKey(currentWorkspaceId.ToString()); ReteriveWorkSpace(); }
private void LoadZoomPoints() { zoomList = SQLiteDBOperation.ReteriveChartZoomList(this.Name); if (zoomList != null && zoomList.Count > 0) { var points = zoomList.OrderByDescending(m => m.Index).FirstOrDefault(); if (points != null) { chart1.ChartAreas[0].AxisX.ScaleView.Zoom(points.PosXStart, points.PosXFinish); chart1.ChartAreas[0].AxisY.ScaleView.Zoom(points.PosYStart, points.PosYFinish); } } }
/// <summary> /// Event to save new workspace /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSaveWorkspace_Click(object sender, EventArgs e) { var childCount = MdiChildren.Count(); if (childCount < 1) { MessageBox.Show(this, "Please add element to your workspace", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } var frm = new frmPopup(); frm.ShowDialog(); if (frm.WorkspaceName != null && frm.WorkspaceName.Trim() != string.Empty) { if (SQLiteDBOperation.DuplicateWorkspace(frm.WorkspaceName.Trim().ToLower())) { //Add new workspace int workSpaceid = SQLiteDBOperation.AddWorkspace(frm.WorkspaceName); //Add forms for the respective workspace AddWorkspaceForm(workSpaceid); //uncheck all menu items //foreach (ToolStripMenuItem item in workspaceToolStripMenuItem.DropDownItems) //{ // item.Checked = false; //} foreach (var item in workspaceToolStripMenuItem.DropDownItems) { try { // Seperator is throwing exception ToolStripMenuItem stripmenu = item as ToolStripMenuItem; stripmenu.Checked = false; } catch { continue; } } //Add new menu strip and mark it as active/checked ToolStripMenuItem menuItem = new ToolStripMenuItem(); menuItem.Name = workSpaceid.ToString(); menuItem.Text = frm.WorkspaceName; menuItem.Checked = true; menuItem.Click += MenuItem_Click; workspaceToolStripMenuItem.DropDownItems.Add(menuItem); currentWorkspaceId = workSpaceid; } else { MessageBox.Show(this, "Workspace already exist.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private void LoadAnnotations() { var annotations = SQLiteDBOperation.ReteriveChartAnnotations(this.Name); foreach (var item in annotations) { // this one is not anchored on a point: TextAnnotation TA = new TextAnnotation(); TA.Text = item; TA.ForeColor = Color.White; TA.AnchorX = 50; // 50% of chart width TA.AnchorY = 20; // 20% of chart height, from top! chart1.Annotations.Add(TA); annotationList.Add(item); } }
/// <summary> /// Update existing workspace /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void toolStripUpdateWorkspace_Click(object sender, EventArgs e) { if (currentWorkspaceId < 1) { MessageBox.Show(this, "Workspace does not exist.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } SQLiteDBOperation.TruncatePreviousLocation(currentWorkspaceId); foreach (Form childForm in MdiChildren) { //childForm.Close(); var winState = childForm.WindowState; Point location; Size size; if (childForm.WindowState == FormWindowState.Normal) { // save location and size if the state is normal location = childForm.Location; size = childForm.Size; } else { // save the RestoreBounds if the form is minimized or maximized! location = childForm.RestoreBounds.Location; size = childForm.RestoreBounds.Size; } LocationModel model = new LocationModel(); model.formName = childForm.Tag.ToString(); if (model.formName == "frmCharts") { SaveChartParamters(childForm as frmCharts); } model.LocationX = location.X; model.LocationY = location.Y; model.SizeX = size.Width; model.SizeY = size.Height; model.WindowState = winState.ToString(); model.formUniqueName = childForm.Name; model.WorkspaceId = currentWorkspaceId; model.formTitle = childForm.Text; SQLiteDBOperation.AddFormsLocation(model); } }
private void workspaceToolStripMenuItem1_Click(object sender, EventArgs e) { var form = new frmPopup(); form.ShowDialog(); if (form.WorkspaceName != null && form.WorkspaceName.Trim() != string.Empty) { if (SQLiteDBOperation.DuplicateWorkspace(form.WorkspaceName.Trim().ToLower())) { currentWorkspaceId = 0; foreach (Form childForm in MdiChildren) { childForm.Close(); } int workSpaceid = SQLiteDBOperation.AddWorkspace(form.WorkspaceName); //uncheck all menu items foreach (var item in workspaceToolStripMenuItem.DropDownItems) { try { // Seperator is throwing exception ToolStripMenuItem stripmenu = item as ToolStripMenuItem; stripmenu.Checked = false; } catch { continue; } } //Add new menu strip and mark it as active/checked ToolStripMenuItem menuItem = new ToolStripMenuItem(); menuItem.Name = workSpaceid.ToString(); menuItem.Text = form.WorkspaceName; menuItem.Checked = true; menuItem.Click += MenuItem_Click; workspaceToolStripMenuItem.DropDownItems.Add(menuItem); currentWorkspaceId = workSpaceid; lblShowActiveWorkspace.Text = form.WorkspaceName; } else { MessageBox.Show(this, "Workspace already exist.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private int currentWorkspaceId = 0;//Mantain record of selected workspace private void ReteriveWindowLocations(int workSpaceId) { currentWorkspaceId = workSpaceId; var result = SQLiteDBOperation.ReteriveFormLocation(workSpaceId); foreach (var item in result) { switch (item.formName) { case "frmMarketWatch": this.Invoke((Action) delegate() { frmMarketWatchWin marketWatch = new frmMarketWatchWin(); OpenWindows(marketWatch, item); }); break; /* optional */ case "frmMarketWatchWin": this.Invoke((Action) delegate() { frmMarketWatchWin WatchWindow = new frmMarketWatchWin(); OpenWindows(WatchWindow, item); }); break; /* optional */ case "frmCharts": string title = item.formTitle; string broker = string.Empty; string symbol = string.Empty; if (!string.IsNullOrEmpty(title)) { broker = title.Split('.')[0]; symbol = title.Split('.')[1]; if (broker.ToLower() == Broker.BitFinex.ToString().ToLower()) { symbol = "t" + symbol; } } frmCharts charts = new frmCharts(this, broker, symbol); OpenWindows(charts, item); break; case "frmOrders": frmOrders orders = new frmOrders(); OpenWindows(orders, item); break; case "frmPositions": frmPositions positions = new frmPositions(); OpenWindows(positions, item); break; case "frmClosedPosition": frmClosedPosition closedPosition = new frmClosedPosition(); OpenWindows(closedPosition, item); break; case "frmAlertWindow": frmAlertWindow alertWindow = new frmAlertWindow(); OpenWindows(alertWindow, item); break; case "frmTransaction": frmTransaction transaction = new frmTransaction(); OpenWindows(transaction, item); break; default: /* Optional */ break; } } }