private void addEntry(ref TreeEntries treeEntries, ref Entry entry, ref List <LaborLog.UsersClass> users, ref List <CategoryClass> categories, ref int numberOfEntries) { if (checkUsers(ref entry, ref users) && checkCategories(ref entry, ref categories)) { DateTime dt = DateTime.Parse(entry.StartTime); int indexYear = treeEntries.ContainsYear(dt.Year); int indexMonth = treeEntries.ContainsMonth(indexYear, dt.Month); if (indexYear == -1 && indexMonth == -1) { TreeEntries.Month m = new TreeEntries.Month(dt.Month); m.Entries.Add(entry); TreeEntries.Year y = new TreeEntries.Year(dt.Year); y.Month.Add(m); treeEntries.treeList.Add(y); } if (indexYear != -1 && indexMonth == -1) { TreeEntries.Month m = new TreeEntries.Month(dt.Month); m.Entries.Add(entry); treeEntries.treeList[indexYear].Month.Add(m); } if (indexYear != -1 && indexMonth != -1) { treeEntries.treeList[indexYear].Month[indexMonth].Entries.Add(entry); } numberOfEntries++; } }
public ShowAll(LabLog labLog, bool AddUserOrCategory = false, bool UsePassWord = true) { this.labLog = labLog; this.AddUserOrCategory = AddUserOrCategory; this.UsePassWord = UsePassWord; this.ModifiedDataBase = false; InitializeComponent(); dTP1.CustomFormat = "HH:mm:ss dd.MM.yyyy"; dTP2.CustomFormat = "HH:mm:ss dd.MM.yyyy"; this.listBoxUsers.DrawMode = DrawMode.OwnerDrawFixed; this.listBoxUsers.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox_DrawItem); fillUsers(); this.listBoxCategories.DrawMode = DrawMode.OwnerDrawFixed; this.listBoxCategories.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox_DrawItem); fillCategories(); buttonAddUser.Visible = AddUserOrCategory; buttonUsersDelete.Visible = AddUserOrCategory; buttonUsersUp.Visible = AddUserOrCategory; buttonUsersDown.Visible = AddUserOrCategory; buttonAddCategorie.Visible = AddUserOrCategory; buttonCatergoriesDelete.Visible = AddUserOrCategory; buttonCategoriesUp.Visible = AddUserOrCategory; buttonCategoriesDown.Visible = AddUserOrCategory; treeEntries = fillTree(labLog, TreeEntries.SortOrder.Descending); selectAllUsers(true); selectAllCategories(true); }
public void Unload() { pluginCatalog.Dispose(); pluginCatalog = null; WorldDocuments.Clear(); TreeEntries.Clear(); WorldDocuments = null; }
private void listBoxCategories_SelectedIndexChanged(object sender, EventArgs e) { if (suppress) { return; } if (listBoxCategories.SelectedIndex != -1) { // get if multiple is selected int imultiple = 0; for (int i = 0; i < listBoxCategories.Items.Count; i++) { if (listBoxCategories.GetSelected(i)) { imultiple++; } } if (imultiple > 1) { buttonCatergoriesDelete.Enabled = false; buttonCategoriesUp.Enabled = false; buttonCategoriesDown.Enabled = false; } else { buttonCatergoriesDelete.Enabled = true; if (listBoxCategories.SelectedIndex > 0 && labLog.metaInformation.AllUsers.Length > 1) { buttonCategoriesUp.Enabled = true; } else { buttonCategoriesUp.Enabled = false; } if (listBoxCategories.SelectedIndex < (labLog.metaInformation.AllUsers.Length - 1) && labLog.metaInformation.AllUsers.Length > 1) { buttonCategoriesDown.Enabled = true; } else { buttonCategoriesDown.Enabled = false; } } } treeEntries = fillTree(labLog, treeEntries.sortOrder); }
private void selectAllCategories(bool state) { suppress = true; for (int x = 0; x < listBoxCategories.Items.Count; x++) { listBoxCategories.SetSelected(x, state); } listBoxCategories.TopIndex = 0; suppress = false; treeEntries = fillTree(labLog, treeEntries.sortOrder); buttonCatergoriesDelete.Enabled = false; buttonCategoriesUp.Enabled = false; buttonCategoriesDown.Enabled = false; }
private void buttonDeleteEntry_Click(object sender, EventArgs e) { if (UsePassWord) { if (labLog.metaInformation.UsePassword) { PasswordEntry pw = new PasswordEntry(labLog.metaInformation.Password); if (pw.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return; } } } labLog.RemoveColoumnEntryAt(activeEntry); ModifiedDataBase = true; treeEntries = fillTree(labLog, treeEntries.sortOrder); }
private void buttonDescending_Click(object sender, EventArgs e) { treeEntries = fillTree(labLog, TreeEntries.SortOrder.Descending); }
private TreeEntries fillTree(LabLog lablog, TreeEntries.SortOrder SortOrder) { List <LaborLog.UsersClass> users = new List <LaborLog.UsersClass>(); for (int i = 0; i < listBoxUsers.Items.Count; i++) { if (listBoxUsers.GetSelected(i)) { users.Add(lablog.metaInformation.AllUsers[i]); } } List <LaborLog.CategoryClass> categories = new List <LaborLog.CategoryClass>(); for (int i = 0; i < listBoxCategories.Items.Count; i++) { if (listBoxCategories.GetSelected(i)) { categories.Add(lablog.metaInformation.Categories[i]); } } TreeEntries treeEntries = new TreeEntries(SortOrder); int numberOfEntries = 0; if (SortOrder == TreeEntries.SortOrder.Ascending) { for (int i = 0; i < lablog.InfoEntryItems.Length; i++) { Entry entry = lablog.InfoEntryItems[i]; addEntry(ref treeEntries, ref entry, ref users, ref categories, ref numberOfEntries); } } if (SortOrder == TreeEntries.SortOrder.Descending) { for (int i = lablog.InfoEntryItems.Length - 1; i >= 0; i--) { Entry entry = lablog.InfoEntryItems[i]; addEntry(ref treeEntries, ref entry, ref users, ref categories, ref numberOfEntries); } } textBoxNumberOfEntries.Text = numberOfEntries.ToString(); treeView1.Nodes.Clear(); if (treeEntries.treeList.Count > 0) { treeView1.BeginUpdate(); // Add a root TreeNode for each Customer object in the ArrayList. foreach (TreeEntries.Year year in treeEntries.treeList) { treeView1.Nodes.Add(new TreeNode(year.year.ToString())); // Add a child treenode for each Order object in the current Customer object. foreach (TreeEntries.Month month in year.Month) { List <TreeNode> tList = new List <TreeNode>(); bool c = false; foreach (Entry entry in month.Entries) { DateTime start = DateTime.Parse(entry.StartTime); TimeSpan duration = TimeSpan.Parse(entry.Duration); duration = new TimeSpan(duration.Days, duration.Hours, duration.Minutes, duration.Seconds); TreeNode t = new TreeNode(start.ToString("HH:mm:ss dd.MM.yyyy") + " - " + duration.ToString()); if (c) { t.BackColor = SystemColors.ControlLightLight; } else { t.BackColor = SystemColors.ControlLight; } c = !c; tList.Add(t); } TreeNode treeNode = new TreeNode( System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(month.month), tList.ToArray()); treeView1.Nodes[treeEntries.treeList.IndexOf(year)].Nodes.Add(treeNode); } } for (int i = 0; i < treeView1.Nodes.Count; i++) { treeView1.Nodes[i].Expand(); } treeView1.EndUpdate(); if (treeEntries.sortOrder == TreeEntries.SortOrder.Ascending) { buttonAscending.Enabled = false; buttonDescending.Enabled = true; treeView1.Nodes[treeView1.Nodes.Count - 1].Expand(); treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes[treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Count - 1].Expand(); int i = treeView1.Nodes.Count - 1; int j = treeView1.Nodes[i].Nodes.Count - 1; int k = treeView1.Nodes[i].Nodes[j].Nodes.Count - 1; treeView1.SelectedNode = treeView1.Nodes[i].Nodes[j].Nodes[k]; treeView1.Nodes[i].Nodes[j].Nodes[k].EnsureVisible(); } if (treeEntries.sortOrder == TreeEntries.SortOrder.Descending) { buttonAscending.Enabled = true; buttonDescending.Enabled = false; treeView1.Nodes[0].Expand(); treeView1.Nodes[0].Nodes[0].Expand(); treeView1.SelectedNode = treeView1.Nodes[0].Nodes[0].Nodes[0]; treeView1.Nodes[0].EnsureVisible(); } } if (treeEntries.treeList.Count == 0) { buttonDeleteEntry.Enabled = false; buttonEditNewEntry1.Enabled = false; panelUsers.Controls.Clear(); } else { buttonDeleteEntry.Enabled = true; buttonEditNewEntry1.Enabled = true; } return(treeEntries); }
private void buttonAddNewEntry_Click(object sender, EventArgs e) { if (operationMode == OperationMode.None) { panelTimeTable.Enabled = false; panelSelection.Enabled = false; buttonClose.Enabled = false; panelEditNew.Enabled = true; // edit entry if (((Button)sender).Name == buttonEditNewEntry1.Name) { if (UsePassWord) { if (labLog.metaInformation.UsePassword) { PasswordEntry pw = new PasswordEntry(labLog.metaInformation.Password); if (pw.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return; } } } labelOperation.Text = ButtonText.labelOperationEdit; operationMode = OperationMode.EditEntry; buttonEditNewEntry1.Text = ButtonText.buttonEditNewEntry1_Dialog; buttonEditNewEntry2.Text = ButtonText.buttonEditNewEntry2_Dialog; } // new entry if (((Button)sender).Name == buttonEditNewEntry2.Name) { labelOperation.Text = ButtonText.labelOperationNew; operationMode = OperationMode.NewEntry; buttonEditNewEntry1.Text = ButtonText.buttonEditNewEntry1_Dialog; buttonEditNewEntry2.Text = ButtonText.buttonEditNewEntry2_Dialog; setUserbuttons(false); setCategories(); dTP1.Value = DateTime.Now; dTP2.Value = dTP1.Value.AddHours(1); textBoxInfo.Text = ""; } } else if (operationMode == OperationMode.EditEntry || operationMode == OperationMode.NewEntry) { panelUsers.Controls.Clear(); panelTimeTable.Enabled = true; panelSelection.Enabled = true; buttonEditNewEntry1.Enabled = true; buttonClose.Enabled = true; panelEditNew.Enabled = false; labelOperation.Text = ""; buttonEditNewEntry1.Text = ButtonText.buttonEditNewEntry1; buttonEditNewEntry2.Text = ButtonText.buttonEditNewEntry2; if (((Button)sender).Name == buttonEditNewEntry1.Name) { Entry newEntry = getEntry(); if (operationMode == OperationMode.EditEntry) { labLog.RemoveColoumnEntryAt(activeEntry); } else if (operationMode == OperationMode.NewEntry) { // Nothing to do } int entryNumber = -1; LabLog.insertEntry(ref labLog, ref newEntry, false, out entryNumber); ModifiedDataBase = true; treeEntries = fillTree(labLog, treeEntries.sortOrder); } else { if (treeEntries.treeList.Count == 0) { buttonDeleteEntry.Enabled = false; buttonEditNewEntry1.Enabled = false; panelUsers.Controls.Clear(); } else { buttonDeleteEntry.Enabled = true; buttonEditNewEntry1.Enabled = true; } } operationMode = OperationMode.None; } }