I've written an attached test program which
shows this problem, it uses texteditor mcc, thebar and MUI/Zune
of course.
We want change label of title button, voice of list and a label on two
text
obj (into counter class).
When you write on text editor some attributes of mcc change and active
some
notification chains, for example:
MUIA_TextEditor_HasChanged --> MUIA_pagED_HasChanged -->
MUIA_grpED_HasChanged --> MUIM_MGroup_AskMeChangeLabel (this method sets
MUIA_grpED_BLabelSel, and MUIM_ListED_Insert)
with this notification chain we make bold the text label of list voice and
title button;
MUIA_TextEditor_CursorX --> MUIA_pagED_CursorX --> MUIA_grpED_CursorX
here we have at this point two notification branches, the first one sets
MUIA_Counter_NColumn, which changes text label of one of text obj
(counter), the second one instead sets MUIA_MGroup_CursorX which enables
thebar SelectAll button.
There are other notification chains which have the same pourpose: enable
some buttons on thebar obj, change value of two text objs labels.
Into test code you have debug code which shows how fine final attributes
of
notification chains are setted and to see how mui/zune doesn't update
(refresh?)
itself in that cases...
In each Amiga OS these notification chains work well, they setted in right
way all attributes in each chain, however on OS4 and MOS (MUI3.9 and MUI4)
when a
MUI graphic attribute change in this situation of "many" notification
chains we have an update of user interface which shows the changes (button
and
list voice labels became bold, thebar buttons are enabled), on MUI3.8 we
have
olny and update of label button, instead on MUI/Zune we haven't any graphic
update.
If you resize program windows you will see all changes in MUI3.8 and Zune,
so it seems a problem of refresh joins to notification chain.
This problem is present olny if is a TextEditor object to start the
notification
chains,in fact if you insered instead of it a button object and you attach
to
MUIA_Pressed, FALSE all notification chains, when you press that button on
GUI
all graphics updates are done.
You can easily to verify this insered into file paged.c insead of
#define ENABLE_TEXTEDITOR TRUE, #define ENABLE_TEXTEDITOR FALSE. In this
way
you'll have a button instead of a texteditor, and all notification chains
just
setted in right way.
Nobody/Anonymous
Interface (example)
None
Public
| Filename | Description | Download |
|---|---|---|
| MUIRefreshTest.zip | Download |
| Field | Old Value | Date | By |
|---|---|---|---|
| File Added | 285400: MUIRefreshTest.zip | 2008-07-21 07:15 | shinkuro |
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use