categorized.disabled = true;
methods.Activate();
-
+
// ((IDEWorkSpace)master).SheetSelected(Methods);
return true;
}
{
CodeObject object = control.GetData(methodName);
if(object)
- codeEditor.AddMethod(object.method);
+ codeEditor.AddMethod(object.method);
return false;
}
this, bevelOver = true, checked = true, inactive = true, position = { 0, 25 }, size = { 24, 24 };
bitmap = { "<:ecere>elements/orderCategorized.png" };
// isRadio = true;
-
+
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
if(!categorized.checked)
dropBox.Clear();
dropField.userData = codeEditor;
methodName.userData = codeEditor;
-
+
if(codeEditor)
codeEditor.EnumerateObjects(this);
}
else if(key == escape)
{
Window activeClient = ide.activeClient;
- if(activeClient)
+ if(activeClient)
activeClient.Activate();
- else
+ else
ide.RepositionWindows(true);
}
return true;
{
DataRow row = dropBox.currentRow;
ObjectInfo selected = row ? (ObjectInfo)row.tag : null;
-
+
//int scroll = 0;
bool categorized = this.categorized.checked;
bool currentRow = false;
char * propName;
while(propRow && propRow.parent && !propRow.parent.isHeader)
propRow = row.parent;
-
+
propName = propRow.GetData(propertyName);
strcpy(this.selectedProp, propName);
selectedScroll = properties.scroll.y;
if(propIt.isProperty)
{
Property prop = eClass_FindProperty(selected.instance._class, propIt.name, GetPrivateModule());
-
+
if(prop && prop.Set && prop.Get && prop.compiled && (!prop.category || strcmpi(prop.category, $"Deprecated")))
{
bool disabled = Code_IsPropertyDisabled(selected, prop.name);
if(!strcmp(_class.name, "DesignerBase"))
disabled = true;
- bold = !disabled && Code_IsPropertyModified(test, selected, prop);
+ bold = !disabled && Code_IsPropertyModified(test, selected, prop);
if(dataType)
{
Category category = categories.FindName(name, false);
// Hide properties like this for now..
- if(name && !strcmp(name, "Private"))
+ if(name && !strcmp(name, "Private"))
{
delete info;
continue;
if(!dataType.noExpansion && (dataType.type == structClass || dataType.type == normalClass || dataType.type == noHeadClass || dataType.type == bitClass))
{
DataMember member;
-
+
if(clear)
row.collapsed = true;
}
else
subRow = row.FindRow((int64)subProp);
-
+
subRow.SetData(propertyName, subProp.name);
subRow.SetData(propertyValue, info);
}
if(!properties.currentRow)
{
bool found = false;
-
+
for(_class = selected.instance._class; _class; _class = _class.base)
{
Property prop;
row = category ? (categorized ? category.row.FindRow((int64)prop) : properties.FindRow((int64)prop)) : null;
properties.currentRow = row;
found = true;
- break;
+ break;
}
}
}
}
row = (DataRow)dropBox.AddRowAfter(after);
-
+
row.tag = (int64)object;
- codeObject =
+ codeObject =
{
object = object;
name = name;
codeObject.bitmap = { bitmap };
AddResource(codeObject.bitmap);
}
-
+
row.SetData(null, codeObject);
if(select)
if(row)
{
CodeObject codeObject = row.GetData(null);
-
+
if(codeObject.bitmap)
RemoveResource(codeObject.bitmap);
dropBox.DeleteRow(row);
Property prop = propertyPtr ? propertyPtr.prop : null;
Instance object = this.object;
if(prop)
- {
+ {
Class dataType = prop.dataTypeClass;
if(!dataType)
dataType = prop.dataTypeClass = eSystem_FindClass(codeEditor.privateModule, prop.dataTypeString);
else
{
SetPropValue(prop, object, (uint32)setValue);
- }
+ }
Code_FixProperty(propertyPtr.prop, object);
properties.Update(null);
ClassFunction function = (ClassFunction)selection.id;
CodeObject object = methods.GetData(methodName);
if(object)
- codeEditor.AddMethod(object.method);
+ codeEditor.AddMethod(object.method);
return true;
}
{
DataRow row = (DataRow)button.id;
CodeObject object = row.GetData(methodName);
- codeEditor.AddMethod(object.method);
+ codeEditor.AddMethod(object.method);
return true;
}
void CreateButtons(CodeObject codeObject, int y, int h, DataRow row)
{
BitmapResource bitmap;
-
+
if(codeObject.overriden)
{
if(codeObject.overriden == 1)
sprintf(title, $"Delete %s", codeObject.name);
if(MessageBox
{
- master = parent, type = okCancel, text = title,
+ master = parent, type = okCancel, text = title,
contents = $"Method still contains code. Are you sure you want to delete it?"
}.Modal() == ok)
confirmation = false;
if(codeObject.overriden == 2 || !codeObject.function.attached.count)
{
- codeObject.detachBtn = Button
+ codeObject.detachBtn = Button
{
methods,
master = methods.master,
PopupMenu popupMenu;
Menu menu { };
-
+
for(compatible = object.compatible.first; compatible; compatible = compatible.next)
{
ClassFunction function = compatible.data;
attachMethod = object.method;
popupMenu = PopupMenu
- {
- master = this, menu = menu,
+ {
+ master = this, menu = menu,
position =
{
button.absPosition.x - app.desktop.position.x,
{
DataMember member;
for(member = _class.membersAndProperties.first; member; member = member.next)
- {
+ {
Class memberType = member.dataTypeClass;
if(!memberType)
memberType = member.dataTypeClass = eSystem_FindClass(((Designer)GetActiveDesigner()).codeEditor.privateModule, member.dataTypeString);
surface.TextFont(font.font);
if(disabled)
- {
+ {
surface.SetBackground(Color { 170, 170, 170 });
surface.Area(0,0, x+width-1, y+100);
}
Module module = ((Designer)GetActiveDesigner()).codeEditor.privateModule;
if(!dataType)
dataType = prop.dataTypeClass = eSystem_FindClass(module, prop.dataTypeString);
-
+
if(dataType && prop.Get)
{
void * dataPtr, * data = null, * subData = null;
DataValue valueData, valueSubData;
uint64 bitValue;
-
+
// Get main prop
if(dataType.type == structClass)
{
else
dataPtr = &valueData;
}
-
+
// Get sub prop
if(this.subMember)
{
{
Window editData = null;
Property prop = this.prop;
-
+
dataBox.SetData = Sheet::EditSetData;
if(prop && prop.dataTypeString && !this.disabled)
{
void * dataPtr, * data = null, * subData = null;
DataValue valueData, valueSubData;
uint64 bitValue;
-
+
// Get main prop
if(dataType.type == structClass)
{
else
dataPtr = &valueData;
}
-
+
// Get sub prop
if(this.subMember)
{
if(!category1) category1 = $"Misc";
if(!category2) category2 = $"Misc";
-
+
if(!prop)
{
// result = String::OnCompare((String)category1, (String)category2);
if(!mainDataType)
mainDataType = prop.dataTypeClass = eSystem_FindClass(((Designer)GetActiveDesigner()).codeEditor.privateModule, prop.dataTypeString);
dataType = mainDataType;
-
+
// Prepare main prop
if(dataType.type == structClass)
{
else if(dataType.type == normalClass || dataType.type == noHeadClass)
{
dataPtr = &valueData;
-
+
if(this.subMember || this.subProperty)
{
Class _class;
}
else
{
-
+
if(this.subMember || this.subProperty)
GetProperty(prop, object, &valueData);
-
+
dataPtr = &valueData;
propObject = &valueData;
}
-
+
// Prepare sub prop
if(this.subMember)
{
{
Property subProperty = this.subProperty;
Class subDataType = subProperty.dataTypeClass;
-
+
if(!subDataType)
- subDataType = subProperty.dataTypeClass =
+ subDataType = subProperty.dataTypeClass =
eSystem_FindClass(((Designer)GetActiveDesigner()).codeEditor.privateModule, subProperty.dataTypeString);
if(!subProperty.Get) subDataType = null;
if(subDataType)
((void(*)(void *,byte))(void *)this.subProperty.Set)(propObject, valueSubData.uc);
else if(!strcmp(dataType.dataTypeString, "uint16"))
((void(*)(void *,uint16))(void *)this.subProperty.Set)(propObject, valueSubData.us);
- else
+ else
((void (*)(void *, uint))(void *)this.subProperty.Set)(propObject, valueSubData.ui);
}
else