started to improve the traffic lights

This commit is contained in:
Fredrik Norberg 2011-07-22 15:31:38 +02:00
parent 816f29ee28
commit 3142cc3331
7 changed files with 133 additions and 0 deletions

@ -25,7 +25,9 @@ import se.su.dsv.scipro.message.pages.PrivateMessagesPage;
import se.su.dsv.scipro.peer.pages.PeerReviewTemplatePage;
import se.su.dsv.scipro.project.pages.FinalSeminarProjectListPage;
import se.su.dsv.scipro.project.pages.ProjectOppositionPage;
import se.su.dsv.scipro.project.pages.ProjectPartnerPage;
import se.su.dsv.scipro.project.pages.ProjectStartPage;
import se.su.dsv.scipro.project.pages.SelfCheckPage;
import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.supervisor.pages.SupervisorProjectsFinalSeminarPage;
@ -55,6 +57,8 @@ public class MainMenuPanel extends Panel implements IWiQueryPlugin {
projectMenuSubItems.add(new MenuItem(ProjectStartPage.MAIN_MENU_LABEL, ProjectStartPage.class));
projectMenuSubItems.add(new MenuItem(ProjectOppositionPage.MAIN_MENU_LABEL, ProjectOppositionPage.class));
projectMenuSubItems.add(new MenuItem(FinalSeminarProjectListPage.MAIN_MENU_LABEL, FinalSeminarProjectListPage.class));
projectMenuSubItems.add(new MenuItem("Project Partner", ProjectPartnerPage.class));
projectMenuSubItems.add(new MenuItem("Self Check", SelfCheckPage.class));
MainMenuItem projectMenuItem = new MainMenuItem("projectMenuItem", ProjectStartPage.MAIN_MENU_LABEL, ProjectStartPage.class, containerClass, projectMenuSubItems);
add(projectMenuItem);

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
</head>
<body>
<wicket:panel>
<div wicket:id="stateOfMindContainer">
<form wicket:id="form">
<table wicket:id="group">
<tr wicket:id="persons">
<td><input type="radio" wicket:id="radio" /></td>
<td> <img wicket:id="image"/></td>
</tr>
</table>
</form>
</div>
</wicket:panel>
</body>
</html>

@ -0,0 +1,74 @@
package se.su.dsv.scipro.checklists.panels;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.basic.MultiLineLabel;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.Radio;
import org.apache.wicket.markup.html.form.RadioGroup;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.odlabs.wiquery.ui.core.DefaultJsScopeUiEvent;
import org.odlabs.wiquery.ui.slider.Slider;
import se.su.dsv.scipro.SciProSession;
import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
import se.su.dsv.scipro.data.dataobjects.Project;
import se.su.dsv.scipro.data.enums.StateOfMind;
import se.su.dsv.scipro.knol.resource.page.StaticImage;
import edu.emory.mathcs.backport.java.util.Arrays;
/**
* @author fnorbe@dsv.su.se
*/
public class TrafficLightPanel extends Panel {
private static final long serialVersionUID = 8862892008428526067L;
public TrafficLightPanel(String id, WebPage parent) {
super(id);
WebMarkupContainer stateOfMindContainer = new WebMarkupContainer(
"stateOfMindContainer");
add(stateOfMindContainer);
Form<StateOfMind> f = new Form<StateOfMind>("form");
stateOfMindContainer.add(f);
RadioGroup<StateOfMind> group = new RadioGroup<StateOfMind>("group");
f.add(group);
ListView<StateOfMind> persons = new ListView<StateOfMind>("persons",
Arrays.asList(StateOfMind.values())) {
protected void populateItem(ListItem<StateOfMind> item) {
StateOfMind stateOfMind = item.getModelObject();
item.add(new Radio<StateOfMind>("radio", item.getModel()));
StaticImage image = null;
if (stateOfMind.equals(StateOfMind.FINE)) {
image = new StaticImage("image", new Model<String>(
"images/icons/green_ball_32.png"));
} else if (stateOfMind.equals(StateOfMind.NEEDHELP)) {
image = new StaticImage("image", new Model<String>(
"images/icons/red_ball_32.png"));
} else if (stateOfMind.equals(StateOfMind.NEUTRAL)) {
image = new StaticImage("image", new Model<String>(
"images/icons/yellow_ball_32.png"));
}
item.add(image);
};
};
group.add(persons);
}
}

@ -0,0 +1,9 @@
<!DOCTYPE html>
<html
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<wicket:extend>
<div wicket:id="trafficLightPanel""></div>
</wicket:extend>
</body>
</html>

@ -0,0 +1,19 @@
package se.su.dsv.scipro.project.pages;
import org.apache.wicket.PageParameters;
import se.su.dsv.scipro.checklists.panels.TrafficLightPanel;
/**
* @author Fredrik Norberg - fnorbe@dsv.su.se
*
*/
public class SelfCheckPage extends ProjectPage {
public SelfCheckPage(PageParameters pp) {
super(pp);
add(new TrafficLightPanel("trafficLightPanel", this));
}
}

@ -18,6 +18,7 @@ import se.su.dsv.scipro.project.pages.ProjectPage;
import se.su.dsv.scipro.project.pages.ProjectPartnerPage;
import se.su.dsv.scipro.project.pages.ProjectSchedulePlannerPage;
import se.su.dsv.scipro.project.pages.ProjectStartPage;
import se.su.dsv.scipro.project.pages.SelfCheckPage;
import se.su.dsv.scipro.repository.panels.ProjectFilePanel;
/**
@ -47,6 +48,7 @@ public class ProjectTabMenuPanel extends AbstractMenuPanel {
itemList.add(new MenuItem("Peer review", ProjectPeerPortalPage.class));
itemList.add(new MenuItem("All Final Seminars", FinalSeminarProjectListPage.class));
itemList.add(new MenuItem("Conference", ProjectConferencePage.class));
itemList.add(new MenuItem("Self Check", SelfCheckPage.class));
} else {
itemList.add(new MenuItem("No active project!", NoActiveProjectPage.class));
itemList.add(new MenuItem("Project Partner", ProjectPartnerPage.class));

@ -1053,3 +1053,7 @@ div.wicket-aa ul li.selected {
font-size: 1.4em;
font-style: strong;
}
body {
font: 0.8em/21px arial,sans-serif;
}