Пример #1
0
        private void activitiesPanel_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            int actIndex = getActivityIndexFromMousePosition(e.Location);

            // if area double clicked was not an activity, ignore
            if (actIndex < 0)
            {
                return;
            }

            JArray  activities = getActivities(CurrentLesson);
            JObject act        = (JObject)activities[actIndex];

            using (NewActivityPrompt prompt = new NewActivityPrompt(getName(act), getDescription(act), getTime(act), getColor(act), actIndex))
            {
                this.Enabled = false;
                prompt.ShowDialog();
                this.Enabled = true;

                // escape (do nothing) if user X'd out of Activity Editing prompt (activityTime returned 0)
                if (!prompt.isSaved())
                {
                    return;
                }

                // if activity is marked to be deleted, delete the activity and escape
                if (prompt.isDeleted())
                {
                    activities.RemoveAt(actIndex);
                }
                // otherwise, if input for new activity was valid:
                else
                {
                    // create a updated activity based on user input data from prompt
                    JObject updatedAct = new JObject(
                        new JProperty("name", prompt.getActivityName()),
                        new JProperty("description", prompt.getActivityDescription()),
                        new JProperty("time", prompt.getActivityTime()),
                        new JProperty("color", prompt.getActivityColor().ToArgb().ToString())
                        );

                    // update said activity in the activity list
                    activities[actIndex] = updatedAct;
                }

                // update current lesson data to reflect updated activity list
                CurrentLesson["activities"] = activities;

                // update JSON file for lesson to reflect updated lesson data
                saveCurrentLessonData();

                // update the panel to reflect changes
                Invalidate();
            }
        }
Пример #2
0
        private void newActivityButton_Click(object sender, EventArgs e)
        {
            using (NewActivityPrompt prompt = new NewActivityPrompt("", "", 0, Color.White, -1))
            {
                this.Enabled = false;
                prompt.ShowDialog();
                this.Enabled = true;

                // escape (do nothing) if user X'd out of Activity Editing prompt (activityTime returned 0)
                if (prompt.getActivityTime() <= 0)
                {
                    return;
                }

                // if input for new activity was valid:

                // get current activities list from lesson
                JArray activities = getActivities(CurrentLesson);

                // create a new activity based on user input data from prompt
                JObject newAct = new JObject(
                    new JProperty("name", prompt.getActivityName()),
                    new JProperty("description", prompt.getActivityDescription()),
                    new JProperty("time", prompt.getActivityTime()),
                    new JProperty("color", prompt.getActivityColor().ToArgb().ToString())
                    );

                // add said new activity to the activity list
                activities.Add(newAct);

                // update current lesson data to reflect new activity list with the new added item
                CurrentLesson["activities"] = activities;

                // update JSON file for lesson to reflect new lesson data
                saveCurrentLessonData();

                // update the panel to reflect changes
                this.Refresh();
            }
        }