Is the Model Workspace dirty?

Is there a programatic way to determine if the model workspace is dirty, which is indicated by an asterisk next to "Model Workspace" in the model explorer?

 Respuesta aceptada

Vieniava
Vieniava el 26 de En. de 2011

1 voto

Check this code out:
Z=get_param(gcs,'ModelWorkspace');
Z.isDirty

3 comentarios

Walter Roberson
Walter Roberson el 26 de En. de 2011
Does requesting that parameter make the workspace dirty? ;-)
Paul
Paul el 27 de En. de 2011
Excellent! Is this documented anywhere? Are there any other undocumented methods of the ModelWorkspace class? If this isn't documented, should I really count on it?
Vieniava
Vieniava el 27 de En. de 2011
Your start point could from here http://www.mathworks.com/help/toolbox/simulink/slref/f23-7515.html

Iniciar sesión para comentar.

Más respuestas (1)

MG
MG el 8 de Feb. de 2018
Editada: MG el 8 de Feb. de 2018

0 votos

To determine if the model is dirty:
This means a model has changes that are unsaved.
x = get_param( gcs, 'ModelWorkspace' )
x.isDirty
or
bdIsDirty( gcs )
or
isDirtyOff = strcmp( get_param( gcs, 'Dirty' ), 'off' )
or
isDirtyOn = strcmp( get_param( gcs, 'Dirty' ), 'on' )
To set the dirty bit:
This will trick Simulink to think there are changes that are unsaved.
examples:
  • if you want to save a changed view when there has been no material changes to the model; or
  • you opened or closed some tabs and want to save that change in state when there has been no other material changes to the model.
x = get_param( gcs, 'ModelWorkspace' )
x.isDirty = 1;
or
set_param( gcs, 'Dirty', 'on' )
To save the model:
save_system( gcs )
To close the model:
close_system( gcs )
To save and close the model:
close_system( gcs, 1 )

Categorías

Productos

Preguntada:

el 26 de En. de 2011

Editada:

MG
el 8 de Feb. de 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by