Bonjour,
j'ai quelques panels (ihm) qui sont déja prets ils permettent d'interagir avec simulink ....etc , lors de la simulation et aprés apparition des panels il faut les configurer manualement.
je dois réaliser un autre panel qui permet de controler les autres IHM précedents y compris faire la configuration.
voici le callback de mon bouton X
pour commencer j'ai écris ce code (script à part indépendant de celui des IHM) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 function X_callback(hObject, ~) value = get(hObject,'Value'); if (value == 1) set(hObject, 'string', 'A Configuration'); set(xxxx.xxxx, 'enable', 'on'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'off'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'off'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'off'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'off'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'off'); end if (value == 0) set(hObject, 'string', 'B Configuration'); set(xxxx.xxxx, 'enable', 'off'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'on'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'on'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'on'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'on'); set(findall(xxxx.xxxx, '-property', 'enable'), 'enable', 'on'); end end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function X_initialisation() %% Panel(6) strConfig = evalin('base','strConfig'); set(strConfig.confMode,'value',1) assignin('base','strConfig',strConfig) X_Callback(handles.monbouton,[],handles); %% Panel(3) . . . . . end
j'ai essayé d'appeler le callback du bouton X car avec le set value à 1 y'a juste l'apparence graphique qui change, sans que rien ne change en coulisses ( A configuration ==> B configuration ou l'inverse )
matlab m'affiche le message suivant : Undefined function 'X_callback' for input arguments of type 'struct'
Question
- Est-il possible de faire cela avec cette manière ( appel des callback dans d'autres fonctions )?
- si NON quelle est la façon que vous pourriez me conseiller ?
NB : j'ai une dixaine d'IHM avec pas moins de 100boutons et param a controler
Merci
Cordialement
Amine
Partager