--- /dev/null
+/*****************************************************************************
+ * Copyright Igor Barma, Eric Brun, Alexandre Desoubeaux, Christian Martel,
+ * (2 décembre 2008)
+ *
+ * Ce logiciel est un programme informatique servant à l'évaluation des
+ * compétences.
+ *
+ * Ce logiciel est régi par la licence CeCILL soumise au droit français et
+ * respectant les principes de diffusion des logiciels libres. Vous pouvez
+ * utiliser, modifier et/ou redistribuer ce programme sous les conditions
+ * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
+ * sur le site "http://www.cecill.info".
+ *
+ * En contrepartie de l'accessibilité au code source et des droits de copie,
+ * de modification et de redistribution accordés par cette licence, il n'est
+ * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
+ * seule une responsabilité restreinte pèse sur l'auteur du programme, le
+ * titulaire des droits patrimoniaux et les concédants successifs.
+ *
+ * A cet égard l'attention de l'utilisateur est attirée sur les risques
+ * associés au chargement, à l'utilisation, à la modification et/ou au
+ * développement et à la reproduction du logiciel par l'utilisateur étant
+ * donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+ * manipuler et qui le réserve donc à des développeurs et des professionnels
+ * avertis possédant des connaissances informatiques approfondies. Les
+ * utilisateurs sont donc invités à charger et tester l'adéquation du
+ * logiciel à leurs besoins dans des conditions permettant d'assurer la
+ * sécurité de leurs systèmes et ou de leurs données et, plus généralement,
+ * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
+ *
+ * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
+ * pris connaissance de la licence CeCILL, et que vous en avez accepté les
+ * termes.
+ *******************************************************************************/
+package com.pentila.evalcomp.client.plan.widget;
+
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.dd.DragData;
+import com.gwtext.client.dd.DragSource;
+import com.gwtext.client.dd.DropTarget;
+import com.gwtext.client.dd.DropTargetConfig;
+import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.form.Label;
+import com.gwtext.client.widgets.tree.TreeDragData;
+import com.gwtext.client.widgets.tree.TreeNode;
+import com.pentila.evalcomp.client.i18n.Messages;
+import com.pentila.evalcomp.domain.definition.Referentiel;
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class PlanRefChoosedWidget.
+ */
+public class PlanRefChoosedWidget extends Panel {
+
+ /** The plan ref choosed label. */
+ private Label planRefLabel;
+
+ /** The caller interface. */
+ private PlanTabPanelRefWidget planTabPanelRefWidget = null;
+
+ /**
+ * Instantiates a PlanRefChoosedWidget.
+ */
+ public PlanRefChoosedWidget() {
+ super();
+ this.initializeInterface();
+ }
+
+ /**
+ * Initialize interface.
+ */
+ private void initializeInterface() {
+ // TODO Auto-generated method stub
+
+ this.setHeight(40);
+ this.setWidth(330);
+
+ DropTargetConfig cfg = new DropTargetConfig();
+ cfg.setdDdGroup("evalCompDDGroup");
+
+ new DropTarget(this, cfg) {
+ @Override
+ public boolean notifyDrop(DragSource source, EventObject e,
+ DragData data) {
+ TreeDragData treeDragData = (TreeDragData) data;
+ TreeNode treeNode = treeDragData.getTreeNode();
+ Object obj = treeNode.getAttributeAsObject("evalObject");
+ if (obj instanceof Referentiel) {
+ Referentiel refChoosed = (Referentiel) obj;
+ planTabPanelRefWidget.addNewPlanRef(refChoosed);
+ return true;
+ }
+
+ return false;
+ }
+
+ @Override
+ public String notifyOver(DragSource source, EventObject e,
+ DragData data) {
+ TreeDragData treeDragData = (TreeDragData) data;
+ TreeNode treeNode = treeDragData.getTreeNode();
+ Object obj = treeNode.getAttributeAsObject("evalObject");
+ if (obj instanceof Referentiel) {
+ return "x-dd-drop-ok"; //$NON-NLS-1$
+ }
+ return ""; //$NON-NLS-1$
+ }
+ };
+
+ // on ajoute le label informatif
+ planRefLabel = new Label();
+ planRefLabel
+ .setText(Messages
+ .getString("Deposer_un_referentiel_dans_ce_cadre_pour_l_ajouter"));
+ this.add(planRefLabel);
+ }
+
+ /**
+ * Update plan tab panel ref widget.
+ *
+ * @param ptprw
+ * the ptprw
+ */
+ public void updatePlanTabPanelRefWidget(PlanTabPanelRefWidget ptprw) {
+ this.planTabPanelRefWidget = ptprw;
+ }
+}