コード例 #1
0
ファイル: TestForm.cs プロジェクト: phi1010/votra
 public TestForm(List<Word> words, Language? lang, bool revise, User user)
 {
     rand = new Random();
     InitializeComponent();
     CurrentUser = user;
     WordsToDo = words;
     PresetLanguage = lang;
     PresetRevise = revise;
 }
コード例 #2
0
ファイル: Result.cs プロジェクト: phi1010/votra
 internal Result()
 {
     _DateTime = DateTime.Now;
     _Correct = false;
     _User = null;
     Parent = null;
     Language_Assignment = Language.German;
     Text_Assignment = "";
     _Text_Answer = "";
 }
コード例 #3
0
ファイル: Result.cs プロジェクト: phi1010/votra
 public Result(Boolean correct, Word parent, User user,Language lang,string Assignment,string Answer)
 {
     _DateTime = DateTime.Now;
     _Correct = correct;
     _User = user;
     Parent = parent;
     Language_Assignment = lang;
     Text_Assignment = Assignment;
     _Text_Answer = Answer;
 }
コード例 #4
0
ファイル: DataForm.cs プロジェクト: phi1010/votra
 public DataForm(IconsFolder FolderIcons, List<Folder> Folders, User CurrentUser)
 {
     InitializeComponent();
     this.FolderIcons = FolderIcons;
     this.Folders = Folders;
     this.CurrentUser = CurrentUser;
     ControlFolders.Folders = Folders;
     ControlFolders.FolderIcons = FolderIcons;
     ControlWords.User = CurrentUser;
     ControlWords.Edit = true;
 }
コード例 #5
0
ファイル: TestSettings.cs プロジェクト: phi1010/votra
 public TestSettings(IconsFolder FolderIcons, List<Folder> Folders, User CurrentUser, IconsUser UserIcons)
 {
     InitializeComponent();
     this.FolderIcons = FolderIcons;
     this.Folders = Folders;
     this.CurrentUser = CurrentUser;
     this.UserIcons = UserIcons;
     folderControl1.Folders = Folders;
     folderControl1.FolderIcons = FolderIcons;
     lblUserName.Text = CurrentUser.Name;
     pbUserIcon.Image = UserIcons.GetIcon(CurrentUser.PictureID);
 }
コード例 #6
0
ファイル: UserSelectionForm.cs プロジェクト: phi1010/votra
 private void button2_Click(object sender, EventArgs e)
 {
     User u = new User();
     u.Name = "Neuer Benutzer";
     u.PictureID = 0;
     Users.Add(u);
     Hide();
     new UserSettingsForm(Users, u, UserIcons).ShowDialog();
     if (Users.Contains(u))
     {
         DialogResult = DialogResult.OK;
         CurrentUser = u;
         Close();
     }
 }
コード例 #7
0
ファイル: UserSettingsForm.cs プロジェクト: phi1010/votra
        public UserSettingsForm(List<User> Users, User User, IconsUser UserIcons)
        {
            InitializeComponent();
            u = User;
            iu = UserIcons;
            lu = Users;
            ImageList imgL = new ImageList();
            imgL.ColorDepth = ColorDepth.Depth32Bit;
            imgL.ImageSize = new System.Drawing.Size(32, 32);
            foreach (var kvp in iu.IconDictionary)
            {
                imgL.Images.Add(kvp.Key.ToString(), kvp.Value);

                ListViewItem lvi = new ListViewItem();
                lvi.ImageKey = kvp.Key.ToString();
                lvi.Tag = kvp.Key;
                listView1.Items.Add(lvi);
                if (u.PictureID == kvp.Key)
                    lvi.Selected = true;
            }
            listView1.SmallImageList = imgL;
            listView1.LargeImageList = imgL;
            textBox1.Text = u.Name;
        }
コード例 #8
0
ファイル: Word.cs プロジェクト: phi1010/votra
 /// <summary>
 /// Löscht die Ergebnisse des angegebenen Benutzers für dieses Wort
 /// </summary>
 public void ResetResults(User User)
 {
     foreach (Result r in GetResults(User))
         r.Parent = null;
 }
コード例 #9
0
ファイル: UserSelectionForm.cs プロジェクト: phi1010/votra
 private void UserSelectionForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (CurrentUser == null)
     {
         if (listView1.SelectedItems.Count == 0)
         {
             CurrentUser = null;
             DialogResult = DialogResult.Cancel;
         }
         else
             if (listView1.SelectedItems[0].Tag is User)
             {
                 CurrentUser = listView1.SelectedItems[0].Tag as User;
                 DialogResult = DialogResult.OK;
             }
             else
             {
                 CurrentUser = null;
                 DialogResult = DialogResult.Cancel;
             }
     }
 }
コード例 #10
0
ファイル: Word.cs プロジェクト: phi1010/votra
 /// <summary>
 /// Gibt die Ergebnisse des angegebenen Benutzers zurück
 /// </summary>
 public List<Result> GetResults(User user)
 {
     List<Result> temp = new List<Result>();
     foreach (Result res in _Results)
         if (res.User == user)
             temp.Add(res);
     return temp;
 }
コード例 #11
0
ファイル: Word.cs プロジェクト: phi1010/votra
        /// <summary>
        /// Gibt den aktuellen Status (1-5) des angegebenen Benutzers für das aktuelle Wort zurück
        /// </summary>
        public int GetState(User User)
        {
            List<Result> lr = GetResults(User);
            int _Status = 1;
            lr.Sort(
                (Comparison<Result>)((Result a, Result b) =>
                {
                    if (a.DateTime < b.DateTime)
                        return -1;
                    if (a.DateTime > b.DateTime)
                        return +1;
                    return 0;

                })
            );
            foreach (Result r in lr)
                if (r.Correct)
                {
                    if (_Status < 5)
                        _Status++;
                }
                else
                {
                    _Status = 1;
                }
            return _Status;
        }
コード例 #12
0
ファイル: WordControl.cs プロジェクト: phi1010/votra
 private ListViewItem GetListViewItem(Word w, User CurrentUser)
 {
     if (LvWords.Columns.Count > 0)
     {
         ListViewItem lvi = new ListViewItem();
         lvi.Text = GetStringFromColumn(w, LvWords.Columns[0]);
         for (int i = 1; i < LvWords.Columns.Count; i++)
         {
             lvi.SubItems.Add(new ListViewItem.ListViewSubItem(lvi, GetStringFromColumn(w, LvWords.Columns[i])));
         }
         lvi.Tag = w;
         lvi.ImageIndex = w.GetState(CurrentUser) - 1;
         return lvi;
     }
     else return null;
 }
コード例 #13
0
ファイル: Word.cs プロジェクト: phi1010/votra
 public int CountResults(User u)
 {
     int r = 0;
     foreach (Result res in _Results)
         if (res.User == u)
             r++;
     return r;
 }
コード例 #14
0
ファイル: Folder.cs プロジェクト: phi1010/votra
 public double GetState(User u, bool subfolders)
 {
     return (subfolders ? _Folders.Sum((f) =>
     {
         return f.GetState(u, true) * f.CountWords(true);
     })
     : 0) + CountWords(subfolders);
 }
コード例 #15
0
ファイル: Folder.cs プロジェクト: phi1010/votra
 public void ResetResults(User u)
 {
     foreach (Word w in _Words)
         w.ResetResults(u);
 }
コード例 #16
0
ファイル: Folder.cs プロジェクト: phi1010/votra
 public int CountResults(User u)
 {
     int res = 0;
     foreach (Word w in _Words)
         res += w.CountResults(u);
     foreach (Folder f in _Folders)
         res += f.CountResults(u);
     return res;
 }
コード例 #17
0
ファイル: StartForm.cs プロジェクト: phi1010/votra
 private void SelectUser()
 {
     UserSelectionForm usf = new UserSelectionForm(UserIcons, Users);
     //Hide();
     var dr = usf.ShowDialog();
     if (dr == DialogResult.OK)
     {
         CurrentUser = usf.User;
         lblUserName.Text = CurrentUser.Name;
         pbUserIcon.Image = UserIcons.GetIcon(CurrentUser.PictureID);
         Show();
     }
     if (CurrentUser == null)
         Close();
     //else
     //    Show();
 }
コード例 #18
0
ファイル: StartForm.cs プロジェクト: phi1010/votra
 private void lblSettings_Click(object sender, EventArgs e)
 {
     //Hide();
     new UserSettingsForm(Users, CurrentUser, UserIcons).ShowDialog();
     if (Users.Contains(CurrentUser))
     {
         lblUserName.Text = CurrentUser.Name;
         pbUserIcon.Image = UserIcons.GetIcon(CurrentUser.PictureID);
         //Show();
     }
     else
     {
         CurrentUser = null;
         SelectUser();
     }
 }