Commit 8fb0cea2 by german

Widget del menú de opciones para editar los pictos como supervisor añadido.

Clase de PictogramActivity modificada para que aparezca el widget tras pulsación larga.

Eventos tras pulsaciones largas quitados(Está el codigo comentado)
Falta funcionalidad del menú y redimension según tamaño.
parent ee1f0e09
...@@ -43,6 +43,7 @@ import android.widget.FrameLayout; ...@@ -43,6 +43,7 @@ import android.widget.FrameLayout;
import android.widget.GridView; import android.widget.GridView;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.Toast; import android.widget.Toast;
...@@ -121,6 +122,12 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab ...@@ -121,6 +122,12 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab
private boolean feedback_read; private boolean feedback_read;
private boolean feedback_highlight; private boolean feedback_highlight;
private boolean deleting; private boolean deleting;
//Variables used on the picto menu (only supervisors)
private RadialMenuWidget PieMenu;
private LinearLayout ll;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
...@@ -856,7 +863,14 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab ...@@ -856,7 +863,14 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab
Toast.makeText(PictogramActivity.this, PictogramActivity.this.getResources().getString(R.string.notNewCats), Toast.LENGTH_SHORT).show(); Toast.makeText(PictogramActivity.this, PictogramActivity.this.getResources().getString(R.string.notNewCats), Toast.LENGTH_SHORT).show();
} else { } else {
p.alter_status(); //Si es supervisor hacer aparecer el menú de opciones del picto
View pictoSquare = getCurrentPictoGridAdapter().getView(position,view,parent);
if(pictoSquare.getWidth() == 100){ //Si esta en formato de pictos normal
createMenuForPicto(0,(int) pictoSquare.getX(),(int) pictoSquare.getY(), p.get_column(), p.get_row());
}else{
createMenuForPicto(1,(int) pictoSquare.getX(),(int) pictoSquare.getY(), p.get_column(), p.get_row());
}
//p.alter_status();
getCurrentPictoGridAdapter().notifyDataSetChanged(); getCurrentPictoGridAdapter().notifyDataSetChanged();
} }
} else { } else {
...@@ -1240,4 +1254,114 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab ...@@ -1240,4 +1254,114 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab
return Color.argb(alpha, red, green, blue); return Color.argb(alpha, red, green, blue);
} }
private void createMenuForPicto(int tamPicto,int posX, int posY, int nCol, int nFila){
ll = new LinearLayout(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
addContentView(ll, params);
PieMenu = new RadialMenuWidget(PCBcontext.getContext());
PieMenu.setAnimationSpeed(0L);
//int xLayoutSize = ll.getWidth();
//int yLayoutSize = ll.getHeight();
//PieMenu.setSourceLocation(posX,posY);
/**Para obtener posicion x => posX + tamPicto/2 + nºcolumna(considerar espacios entre pictos)
Para obtener posicion y => posX + tamPicto/2 + nºfila(considerar espacios entre pictos) + tamBarraDialogo(100 o 145)*/
//Segun tamaño de los pictos pongo el menu de un tamaño o de otro y calculo distancias
//TODO: Cambiar tamaño del menu segun tamaño del pictograma
if(tamPicto==0){
posX = posX + nCol + 100/2;
posY = posY + nFila + 94/2 + 100;
PieMenu.setCenterLocation(posX,posY); //Posicion del widget en la pantalla(Encima del picto seleccionado)
PieMenu.setIconSize(10,20);
}else{
posX = posX + nCol + 115/2;
posY = posY + nFila + 115/2 + 145;
PieMenu.setCenterLocation(posX,posY); //Posicion del widget en la pantalla(Encima del picto seleccionado)
PieMenu.setIconSize(10,25);
}
PieMenu.setIconSize(20,35); //Tamaño del icono
//PieMenu.setTextSize(13); //Tamaño del texto
//PieMenu.setSourceLocation(xLayoutSize,yLayoutSize);
PieMenu.setIconSize(10,25);
PieMenu.setTextSize(13);
PieMenu.setCenterCircle(new Close());
PieMenu.addMenuEntry(new DisablePictoMenu());
PieMenu.addMenuEntry(new EditLegendMenu());
PieMenu.addMenuEntry(new ChangePictoMenu());
PieMenu.addMenuEntry(new UnlockPictoMenu());
ll.addView(PieMenu);
}
//TODO: Añadir iconos y cambiarlos en cada boton
/** Menu of picto classes */
//Close menu button
public class Close implements RadialMenuWidget.RadialMenuEntry
{
public String getName() { return "Close"; }
public String getLabel() { return null; }
public int getIcon() { return android.R.drawable.ic_menu_close_clear_cancel; }
public List<RadialMenuWidget.RadialMenuEntry> getChildren() { return null; }
//Metodo para realizar acciones si se pulsa
public void menuActiviated()
{
((LinearLayout)PieMenu.getParent()).removeView(PieMenu);
}
}
//Disable menu button
public static class DisablePictoMenu implements RadialMenuWidget.RadialMenuEntry
{
public String getName() { return "IconOnly"; }
public String getLabel() { return null; }
public int getIcon() { return R.drawable.disabled_picto; }
public List<RadialMenuWidget.RadialMenuEntry> getChildren() { return null; }
public void menuActiviated()
{
}
}
//Edit legend of picto menu button
public static class EditLegendMenu implements RadialMenuWidget.RadialMenuEntry
{
public String getName() { return "IconOnly"; }
public String getLabel() { return null; }
public int getIcon() { return R.drawable.disabled_picto; }
public List<RadialMenuWidget.RadialMenuEntry> getChildren() { return null; }
public void menuActiviated()
{
}
}
//Change image of picto menu button
public static class ChangePictoMenu implements RadialMenuWidget.RadialMenuEntry
{
public String getName() { return "IconOnly"; }
public String getLabel() { return null; }
public int getIcon() { return R.drawable.disabled_picto; }
public List<RadialMenuWidget.RadialMenuEntry> getChildren() { return null; }
public void menuActiviated()
{
}
}
//Activate/enable picto on vocabulary menu button
public static class UnlockPictoMenu implements RadialMenuWidget.RadialMenuEntry
{
public String getName() { return "IconOnly"; }
public String getLabel() { return null; }
public int getIcon() { return R.drawable.disabled_picto; }
public List<RadialMenuWidget.RadialMenuEntry> getChildren() { return null; }
public void menuActiviated()
{
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment