package syc.mvc.view;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.util.Observable;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.LineBorder;
import syc.mvc.model.Model;
public class IHM_synchronisationRules extends IHM_SYC
{
//a supp
private JButton jBt_Next = new JButton("<<<>>>");
private JButton jBt_BackToDrives = new JButton("Retour au Drive");
private JButton jBt_AddRulesSYC = new JButton("Ajouter une R�gle");
private JButton jBt_Remove = new JButton("Supprimer");
//private JLabel jLab_Rules_a = new JLabel("Rayane.rahmani/doc ");
//private JLabel jLab_Rules_b = new JLabel("Rayane.rahm/document/");
//private JLabel jLab_IconeRules_a = new JLabel("Drive ");
//private JLabel jLab_IconeRules_b = new JLabel("skyDrive");
public IHM_synchronisationRules(Model aModel_SYC)
{
super(aModel_SYC);
this.jLab_Welcome.setText("Liste des r�gles de synchronisation");
this.setTitle("Page des r�gles de Synchronisation");
jPan3.add(jBt_AddRulesSYC);
jPan3.add(jBt_Remove);
jPan3.add(jBt_BackToDrives);
JScrollPane jScrollPane = new JScrollPane(jPan4);
//jScrollPane.getViewport().add(jPan4, null);
jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane.setViewportBorder(new LineBorder(Color.BLACK));
jPan1.add(jScrollPane);
int i=0;
int numberOfDrive = 8;
for(i=1 ;i<numberOfDrive ;i++)
{
String[] s = new String[]{"Drive - ","Rayane.rahm/document"};//Sera un parametre du model via le controlleur
String[] s1 = new String[]{"SkyDrive - ","Rayane.rahm/document"};//Sera un parametre du model via le controlleur
JPanel jp = createJPanel(Color.WHITE, true);
jp = defineJPanelLayoutManager(jp);
jp=addElement(s,jp);
jp.add(createJButton("<<<>>>"));
jp=addElement(s1,jp);
gBC_gBLay_Level_2.fill=GridBagConstraints.HORIZONTAL;
gBC_gBLay_Level_2.gridx = 0;
gBC_gBLay_Level_2.gridy = i;
gBC_gBLay_Level_2.gridwidth = 5;
gBC_gBLay_Level_2.gridheight = 1;
gBC_gBLay_Level_2.anchor = GridBagConstraints.CENTER;
gBC_gBLay_Level_2.insets = new Insets(4, 0, 4, 0);
jPan4.add(jp, gBC_gBLay_Level_2);
}
}
public void displayIHM_synchronisationRules(boolean displayed)
{
this.setVisible(displayed);
}
public JButton getjBt_BackToDrives() {
return jBt_BackToDrives;
}
public void setjBt_BackToDrives(JButton jBt_BackToDrives) {
this.jBt_BackToDrives = jBt_BackToDrives;
}
public JButton getjBt_AddRulesSYC() {
return jBt_AddRulesSYC;
}
public void setjBt_AddRulesSYC(JButton jBt_AddRulesSYC) {
this.jBt_AddRulesSYC = jBt_AddRulesSYC;
}
public JButton getjBt_Remove() {
return jBt_Remove;
}
public void setjBt_Remove(JButton jBt_Remove) {
this.jBt_Remove = jBt_Remove;
}
private JLabel createJLabel(String s) //trouver solution indexer bt ou les nommer
{
JLabel l = new JLabel(s);
//l.setBorder(BorderFactory.createMatteBorder(3, 5, 3, 5, Color.BLACK));
l.setHorizontalAlignment(JLabel.CENTER);
return l;
}
private JButton createJButton(String s)
{
JButton jb = new JButton(s);
jb.setHorizontalAlignment(JLabel.CENTER);
jb.setPreferredSize(new Dimension(70,25));
return jb;
}
private JPanel createJPanel(Color colorPanel, Boolean autoSize)
{
JPanel jp = new JPanel();
jp.setBackground(colorPanel);
jp.setBorder(BorderFactory.createMatteBorder(3, 5, 3, 5, Color.BLACK));
if(autoSize)
{
//jp.setMaximumSize(new Dimension(480,30));
jp.setMinimumSize(new Dimension(480,30));
//jp.setPreferredSize(new Dimension(480,30));
}
return jp;
}
private JPanel defineJPanelLayoutManager(JPanel jp)
{
BoxLayout bxLay_buttonGroup = new BoxLayout(jp,BoxLayout.X_AXIS);
jp.setLayout(bxLay_buttonGroup);
return jp;
}
private JPanel addElement(String[] s, JPanel jp)
{
if(s.length>2)
{
return jp;
}
int i = 0;
for(i=0;i<s.length;i++)
{
jp.add(createJLabel(s[i].toString()));
}
return jp;
}
public void update(Observable arg0, Object arg1)
{
super.update(arg0, arg1);
displayIHM_synchronisationRules(model_SYC.getDisplay_synchronisationRules());
}
}