🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fido.ger.amiprog
1 messages
1 total messages Started by Sven Drieling Mon, 28 Jul 1997 00:00
OM_SET aus Boopsi-Gadget heraus
#484
Author: Sven Drieling
Date: Mon, 28 Jul 1997 00:00
59 lines
2272 bytes
 Hi,

 ich wollt mir mit Boopsi ein Up/Down Propgadget basteln, das ich ueber
 SetGadgetAttrs() so steuern kann, dass mit Up, Down, PageUp und PageDown
 PGA_Top entsprechend geaendert wird. Dazu habe ich von propgclass
 ein Gadget abgeleitet dessen Dispatcher aus

   case OM_SET:
   case OM_UPDATE:

 besteht. Alle anderen Messages werden direkt an die superclass
 weitergeben.

 In OM_SET/UPDATE werden die Tags ausgewertet. PGA_Top neu berechnet
 (aktueller Wert wird mit DoSuperMethod(..OM_GET..) geholt) und dann
 in der Funktion NotifyTop() neu gesetzt. Dabei wird zwar der Wert von
 PGA_Top geaendert aber der visuelle Zustand des Propgadgets bleibt
 unveraendert. Nur warum funktioniert es nicht?


Aufruf erfolgt mit:
  #define OP_SET ((struct opSet      *)msg)
  YUDP_NotifyTop(cl, o, OP_SET->ops_GInfo, 0);


void YUDP_NotifyTop(Class *cl, Object *o, struct GadgetInfo *gi, ULONG top)
{
  struct TagItem tt[3];

  tt[0].ti_Tag  = PGA_Top;
  tt[0].ti_Data = 5;  /* Zu testzwecken auf 5 */

  tt[1].ti_Tag = TAG_DONE;

  KPrintF("Notify\n");
  DoSuperMethod(cl, o, OM_SET, tt, gi);
}


Test:
  - PGA_Top steht auf 0
  - SetGadgetAttrs(prop, w, NULL, YUDP_Up, 1, TAG_END);
  - GetAttr(PGA_Top, prop, &top);
  - printf("Top: %i\n", top);
    => 5

  Nur aendert sich der visuelle Zustand des Propgadgets nicht und wenn
  es dann bewegt wird springt es auch nicht nach 5, sondern nach 1
  (bei entsprechenden OM_UPDATE, OM_NOTIFY Messages siehts auch nicht
  besser aus).

  Ich hatte es auch mal mit einen Stringgadget probiert(neuen Inhalt
  setzen). Dabei wird der Inhalt geaendert, die Aenderung wird aber erst
  dann sichtbar, wenn das Stringgadget neu aktiviert wird.


 tschuess
       [|8:)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads