Example #1
0
        ///
        /// 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;
             }
        }