/// /// Creates the mood window dialog but does not display it. /// (use Run()). /// /// cred and mood are directly modified on successful validation. /// public MoodDialog( Gtk.Window parent, IEngine backend, Credentials cred, Mood mood, DefaultField defaultField ) { Debug.Assert( null != backend ); _backend = backend; // Save for later... Glade.XML glade = new Glade.XML( null, "tam.GtkPlayer.exe.glade", "_moodDialog", null ); glade.Autoconnect( this ); Debug.Assert( null != _moodDialog ); Debug.Assert( null != _userCombo ); Debug.Assert( null != _moodCombo ); _moodDialog.TransientFor = parent; // Set up the available users list. Credentials [] credList = backend.GetUserList(); string [] credNameList = new string[ credList.Length ]; for (int i = 0; i < credList.Length; i++) credNameList[i] = ((Credentials)credList[i]).name; _userCombo.PopdownStrings = credNameList; // Set default values for the entry fields AFTER the dropdown // lists are initialized, otherwise it will default to the first // value in the list if (null != cred) _userCombo.Entry.Text = cred.name; _UpdateUserBtns(); if (null != mood) _moodCombo.Entry.Text = mood.name; _UpdateMoodBtns(); switch (defaultField) { case DefaultField.USER: default: _userCombo.Entry.GrabFocus(); break; case DefaultField.MOOD: _moodCombo.Entry.GrabFocus(); break; } }