Donate Share

MCC TextEditor

Tracker: Bugs

5 TextEditor stops gui refresh during some notification chains - ID: 2023308
Last Update: Attachment added ( shinkuro )

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.


Gianfranco Gignina ( shinkuro ) - 2008-07-21 07:15

5

Open

None

Nobody/Anonymous

Interface (example)

None

Public


Comments




Log in to comment.

No follow-up comments have been posted.

Attached File ( 1 )

Filename Description Download
MUIRefreshTest.zip Download

Change ( 1 )

Field Old Value Date By
File Added 285400: MUIRefreshTest.zip 2008-07-21 07:15 shinkuro