如何在dolphin smalltalk树视图中使用自定义图标?

如何在dolphin smalltalk树视图中使用自定义图标?,smalltalk,dolphin-smalltalk,Smalltalk,Dolphin Smalltalk,在Dolphin smalltalk树视图中,我想使用自定义图标,具体取决于所显示项目的状态(不同状态,不同图标) 我该怎么做 我无法真正理解如何使用“我的”图标。 我创建了一个类“connection”,其中有一个实例变量“connected” 还有两个类方法“connectedIcon”和“unconnectedIcon”,返回图标图像。 然后是一个实例函数“icon”,它根据连接状态返回一个或另一个图像 我可以将此类的实例添加到树视图中,并查看连接的名称。 但是如何显示我的图标呢 我试图用

在Dolphin smalltalk树视图中,我想使用自定义图标,具体取决于所显示项目的状态(不同状态,不同图标) 我该怎么做


我无法真正理解如何使用“我的”图标。 我创建了一个类“connection”,其中有一个实例变量“connected” 还有两个类方法“connectedIcon”和“unconnectedIcon”,返回图标图像。 然后是一个实例函数“icon”,它根据连接状态返回一个或另一个图像

我可以将此类的实例添加到树视图中,并查看连接的名称。 但是如何显示我的图标呢

我试图用以下表达式[:obj | obj icon]替代presenter视图的getImageBlock,但它不起作用。 (似乎什么也没发生)

这是在“我的演示者”中进行的初始化:

初始化 超级初始化。 treePresenter视图getImageBlock:[:obj | obj图标]

怎么了? 顺致敬意,
Maurizio

编辑树视图时,其中一个属性是getImageBlock。默认情况下,它实际上不是一个块,而是另一个理解消息“value:”(类IconicListAbstract)的对象。您可以用代码块(或其他理解“value:”的对象)替换此属性然后回答要显示的图像。

编辑树视图时,其中一个属性是getImageBlock。默认情况下,它实际上不是一个块,而是另一个理解消息“value:”(类IconicListAbstract)的对象。您可以用代码块(或其他理解“value:”的对象)替换此属性然后回答您要显示的图像。

在Microsoft Windows中,图标通常存储在DLL中。您应该能够使用图标资源管理器或编辑工具查看DLL中的图标。例如,从获取IconExplorer并尝试打开DolphinDR7.DLL。当您在应用程序中返回数字时,图标和数字是否匹配n

要确定(或覆盖)所使用的资源库,请参阅SessionManager>#“defaultResLibPath”


通常,使用GUI编辑器中的属性编辑器设置getImageBlock,但通过代码设置也可以。在Microsoft Windows中,图标通常存储在DLL中。您应该能够使用图标资源管理器或编辑工具查看DLL中的图标。例如,从获取IconExplorer并尝试打开DolphinDR7.DLL。图标和数字是否与您在应用程序中返回数字时看到的相符

要确定(或覆盖)所使用的资源库,请参阅SessionManager>#“defaultResLibPath”


通常,getImageBlock是使用GUI编辑器中的属性编辑器设置的,但是通过代码设置也可以

我有两个问题

1) 如何以及在何处修改我的Treepresenter的getImageBlock方法。 2) 在哪里放置图标以及如何获取每个图标的imageindex

这就是解决方案:

1) 不需要。 treeview向我的模型发送一条“iconImageIndex”消息 这由默认方法(在Object类中)处理,该方法向我的对象发送消息#图标 该消息(图标)的结果是消息#iconIndex。 此消息可从使用自己的图标索引进行应答的图标中理解

因此,我需要弹劾的唯一方法是类连接中的#icon 我实施的措施如下:

图标 已打开的ifTrue:[^Connection CONNECTED]IFALSE:[^Connection UNCONNECTED]

在类本身中,通过计算createIconMethod将两个图标导入到图像中, 正如博客文章“美女少野兽”中所解释的那样

所以我的问题解决了

谢谢大家。
毛里齐奥。

精彩的海豚闲聊

我有两个问题

1) 如何以及在何处修改我的Treepresenter的getImageBlock方法。 2) 在哪里放置图标以及如何获取每个图标的imageindex

这就是解决方案:

1) 不需要。 treeview向我的模型发送一条“iconImageIndex”消息 这由默认方法(在Object类中)处理,该方法向我的对象发送消息#图标 该消息(图标)的结果是消息#iconIndex。 此消息可从使用自己的图标索引进行应答的图标中理解

因此,我需要弹劾的唯一方法是类连接中的#icon 我实施的措施如下:

图标 已打开的ifTrue:[^Connection CONNECTED]IFALSE:[^Connection UNCONNECTED]

在类本身中,通过计算createIconMethod将两个图标导入到图像中, 正如博客文章“美女少野兽”中所解释的那样

所以我的问题解决了

谢谢大家。
Maurizio。

谢谢,我发现海豚博客教程“使用图标”和“美女少野兽”也很有用。我要做个实验……我真的不明白如何使用“我的”图标。我创建了一个类“连接”,带有一个实例变量“connected”,似乎getImageBlock中定义的块应该返回一个数字索引:(我想这一定是我图像的索引)例如,如果我将块设置为[:obj | 1],如果我将块设置为[:obj | 2],列表的所有元素都会显示一个内部图标列表中的所有元素都会显示另一个图标,以此类推。问题是:我应该将图标放在哪里,以及如何获取相关索引?顺便说一句,我在演示者的createSchematicWiring方法中设置了块。这是正确的位置吗?MaurizioThanks,我发现海豚博客教程“使用图标”和我要做个实验…我真的不知道如何使用“我的”图标。我创建了一个类“连接”,带有一个实例变量“connected”,似乎getImageBlock中定义的块应该返回一个数字索引:(我想这一定是我图像的索引),例如,如果我将块设置为[:obj | 1]all