Ajouter un bouton

Résultat à obtenir

0 La Théorie

Le crud est un panel dans lequel on dispose des boutons standards "Nouveau,Effacer,Enregistrer et Abandonner".
Ces boutons sont gérés en fonction du contexte de saisie.
Des méthodes d type setCrudxxxx() sont disponibles pour fonctionner dans des modes standard particuliers

De plus le Dev peut ajouter autant de boutons que nécessaire pour créer des actions supplémentaires (option).
La classe Gp est une classe de service qui propose entre autres : l'appel simplifié à une message box.
Gp.MB("message");
Nous allons l'utiliser comme action.


1 Ajouter le bouton au crud

Ajouter un nouveau bouton à TableTestSAISIE

String option="Option";
public void validateAdapteFicheCrud(){
	userOptionAdd(option, null);
}

Compiler et relancer, le bouton est présent mais le clic ne déclenche rien

2 Brancher le bouton a une action

Ajouter une nouvelle action à TableTestSAISIE

public void userOptionDo(String actionCommandOption){
	if (actionCommandOption.equals(option)){
		Gp.MB("Nouvelle action déclenché par le bouton : "+option);
	}
}

Compiler et relancer, le bouton est présent et le clic appel la message box

3 Personnaliser le bouton

Les images doivent être présente dans le package "main.aImages"

public void validateAdapteFicheCrud(){
	//userOptionAdd(option, null);
	userOptionAdd(option, "btn_fushia.png");
}

Compiler et relancer, le bouton est joliment décoré

9 Voir un exemple de code

Voici le code d'une action d'insertion de fiche. Ce code est issu du framework lui même.
Abc_wtools\src\table_standard\wS_menus\S_menusSAISIE

public void userOptionDo(String actionCommandOption){
	if (actionCommandOption.equals(insert)){
		sql.createTemporaryTable(false);
		sql.insertTemporaryTable("c_code='"+code.getText()+"' AND c_cle2='"+cle2.getText()+"'");
		String tmp="";
		for (int i=1; i<99;i++){
			tmp=""+(cle2.getInt()+i);
			if (!sql.readSeek(sql.t_table, "c_code+c_cle2", code.getText()+tmp)){
				break;
			}
		}
		sql.updateTemporaryTable("c_cle2='"+tmp+"',c_smen='',c_opt1='',c_menu='',c_aide='',c_racc='' ", "c_code='"+code.getText()+"' AND c_cle2='"+cle2.getText()+"'");
		sql.insertFromTemporaryTable("c_cle2='"+tmp+"'");
		sql.dropTemporaryTable(false);
		load(code.getText()+tmp);
		reloadAfterDb();
		updateMenu();
	}
}


L'accès au crud se fait par des méthodes du type setCrudxxxx() et les actions utilisateurs sont relayées par des méthodes de type userxxxxx()
La décoration des boutons peut être désactivée au niveau des préférences utilisateurs


Travailler ses tables et créer une insertion ...