Matlab - AGREGAR EN GUIDE CODIGO

 
Vista:
sin imagen de perfil

AGREGAR EN GUIDE CODIGO

Publicado por Carlos (6 intervenciones) el 10/08/2017 18:58:07
saludos estimados lo que yo quiero es en un guide agregar un edittext o algo similar pero que en el yo pueda escribir codigo como si lo estubiese haciendo en el editor , me explico , en el editor los condicionales como if , while for y esas cosas estan azulados, los comentarios son verdes , la idea es que el edittext sea como el editor para yo luego poder evaluar con la funcion eval que ya con esta eval no tengo ningun problema

quiero hacer esto porque aqui voy a ingresar muchos parentesis y ciclos y con el edit text no logro ver bien donde cierran entonces por eso me gustaria que fuese como en el editor que tiene diferentes colores y muchas guias
de antemano graciass


por cierto quiero saber si es posible esto o como podria hacerlo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

AGREGAR EN GUIDE CODIGO

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 10/08/2017 19:17:22
para esto requieres acceder a clases muy internas de Matlab que son las que manejan el Editor y muchas cosas que Matlab tiene al ser un lenguaje Interpretado :

1
2
3
4
figure;
j=com.mathworks.widgets.SyntaxTextPane;
j.setContentType(j.M_MIME_TYPE)
javacomponent(com.mathworks.mwswing.MJScrollPane(j),[20,20,500,100],gcf);


en este ejemplo que te adjunto aquí se crea lo que requieres en una figura, si deseas agregarlo a tu guide entonces debes agregar el siguiente código en el opening Function del guide, y cambiar la posición hasta que quede de una forma adecuada

1
2
3
j=com.mathworks.widgets.SyntaxTextPane;
j.setContentType(j.M_MIME_TYPE)
javacomponent(com.mathworks.mwswing.MJScrollPane(j),[20,20,500,100],handles.figure1);


https://www.facebook.com/royethmatlab/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

AGREGAR EN GUIDE CODIGO

Publicado por Carlos (6 intervenciones) el 10/08/2017 20:11:34
excelente!!! muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

AGREGAR EN GUIDE CODIGO

Publicado por Carlos (6 intervenciones) el 10/08/2017 21:31:12
Doctor lo siento no fui capaz , como hago para extraer el contenido de lo que escriba en ese componente??? pense que podia hacerlo pero ya intente de todas las firmas posibles y no me ha salido le agradeceria pudiera ayudarme

guarde el javacomponent como a

y coloque get(a,'string')

y no me reconoce nada
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

AGREGAR EN GUIDE CODIGO

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 11/08/2017 05:04:26
así debes tener tu opening Function :

1
2
3
4
5
6
handles.output = hObject;
handles.j=com.mathworks.widgets.SyntaxTextPane;
handles.j.setContentType(handles.j.M_MIME_TYPE)
javacomponent(com.mathworks.mwswing.MJScrollPane(handles.j),[20,20,500,100],handles.figure1);
% Update handles structure
guidata(hObject, handles);



y para obtener lo que escribas ahí desde cualquier función del guide puedes hacer :

1
s=handles.j.getText

un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

AGREGAR EN GUIDE CODIGO

Publicado por Carlos (6 intervenciones) el 11/08/2017 21:30:31
realmente estoy muy agradecido , me ha ahorrado muchos problemas doctor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar