function Main(){
var App = System.GetInterface(“Application”);
var Model = App.ActiveModel;
var WS = App.ActiveWorkSpace;
var Log = System.CreateObject(“Log”);
if(Model==null) return;
if(WS==null) return;
var i, SelectObject, Entity, lines, a, Attribute;
for(i=0; i<This.Count;i++)
{
SelectObject = This.GetObject(i);
if (SelectObject.ObjectType == 2502) //entity shape on WorkSpace
{
SelectObject.Lock();
Entity = SelectObject.ParentBase;
Entity.Lock();
//Log.Information(Entity.Name + " = " + SelectObject.measuretext())
SelectObject.Lock();
SelectObject.RecalculateSizes = true;
//SelectObject.SetModified(true);
SelectObject.Unlock();
Model.RefreshWorkspace(WS.Id);
Log.Information("Display Mode = " + SelectObject.DisplayMode);
lines = 1;
for (a=0; a<Entity.Attributes.Count; a++) // iterate attributes
{
Attribute = Entity.Attributes.GetObject(a);
if (Attribute.IsPrimaryKey == 1) // check if attribute is PK
{
if (SelectObject.DisplayMode > 1)
lines += 1
}
else
{
if ((Attribute.FKForeignKeys.Count !=0) && (SelectObject.DisplayMode > 2))
lines += 1
else
{
if ((Attribute.Unique) && (SelectObject.DisplayMode > 3))
lines += 1
else
{
if (SelectObject.DisplayMode == 5)
lines += 1
}
}
}
}
if (lines == 1) lines = 1.5;
Log.Information("Lines = " + lines);
SelectObject.RecalculateSizes = false;
SelectObject.Height = Math.round(((SelectObject.FontHeight * -1.4 * lines) - (SelectObject.FontHeight / SelectObject.FontSize * SelectObject.PenWidth)));
Entity.Unlock();
SelectObject.Unlock();
//Model.RefreshWorkspace(WS.Id);
}
}
Model.RefreshWorkspace(WS.Id);
}