@Override
	public void update(Observable o, Object arg) {
		if (arg.equals("sheets")) {
			DefaultMutableTreeNode root = new DefaultMutableTreeNode(Resources.getInstance().getObject("sheets"));
			for (Sheet s : gui.getPlaner().getSheets()) {
				DefaultMutableTreeNode week = new DefaultMutableTreeNode(""
						+ s.getBegin().getTime().toString() + "-"
						+ s.getEnd().getTime().toString());
				int daycount = 0;
				for (Day d : s.getWeek().getDays()) {
					DefaultMutableTreeNode day = new DefaultMutableTreeNode(""
							+ daycount + "-" + d.getDate().getTime().toString());
					daycount++;
					for (Task t : d.getTasks()) {
						DefaultMutableTreeNode task = new DefaultMutableTreeNode(
								t.getTask() + ":" + t.getTime());
						day.add(task);
					}
					week.add(day);
				}
				root.add(week);
			}
			sheetTree.removeAll();
			sheetTree = new JTree(root);
			sheetTreeScrollPane.setViewportView(sheetTree);
		}
		if (arg.equals("maximalWorkDayTime")) {
			maxWorkDayTimeValue.setText(""
					+ gui.getPlaner().getSettings().getMaximalWorkDayTime());
		}
		if (arg.equals("workDays")) {
			workDayValue.setText(""
					+ gui.getPlaner().getSettings().getWorkDays());
		}
		if (arg.equals("averageTaskTimeMax")) {
			getMaxTaskTimeSpinner().setValue(
					gui.getPlaner().getSettings().getAverageTaskTimeMax());
		}
		if (arg.equals("averageTaskTimeMin")) {
			getMinTaskTimeSpinner().setValue(
					gui.getPlaner().getSettings().getAverageTaskTimeMin());
		}
	}