ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
enlighten.ui.Marquee.Marquee Class Reference

Encapsulate access to the "message display area" visible along the top of the ENLIGHTEN display. More...

Public Member Functions

 __init__ (self, ctl)
 
 clear (self, token=None, force=False)
 
 close_callback (self)
 
 error (self, msg, persist=False, token=None, benign=False, immediate=False, extra_ms=0, period_sec=None, link=None)
 
 extra_ms (self)
 
 hide (self)
 
 info (self, msg, persist=False, token=None, benign=None, immediate=False, extra_ms=0, period_sec=None, link=None)
 display an info message to the user
 
 last_token (self)
 
 link (self)
 
 link_activated_callback (self, link)
 
 persist (self)
 
 schedule_clear (self, immediate=False)
 
 showing_error (self)
 
 showing_something (self)
 
 stop (self)
 
 tick (self)
 

Public Attributes

 close_callback
 
 ctl = ctl
 
 curr_message = None
 
 default_css = self.inner.styleSheet()
 
 frame = cfu.frame_drawer_white
 
int height = Marquee.ORIG_HEIGHT
 
 inner = cfu.frame_drawer_black
 
 label = cfu.label_drawer
 
 link_activated_callback
 
 next_clear_timestamp = None
 
 next_message = None
 
 tick
 
 timer = QtCore.QTimer()
 

Static Public Attributes

int DRAWER_DURATION_MS = 3000
 
int ORIG_HEIGHT = 36
 

Detailed Description

Encapsulate access to the "message display area" visible along the top of the ENLIGHTEN display.

Messages are normally shown for 3sec and then removed. If 'persist' is set, message will remain until overwritten.

This class is more complicated than it needs to be for two reasons:

  1. The Marquee used to be animated, with gradual slide-out drawers and such. This is the reason for some of the "schedule" nomenclature and timing. Not really needed anymore, and could be simplified out.
  2. Part of the KnowItAll implementation included the concept of "hazard" vs "benign" identifications. We aren't currently using that, but it may come back.

TODO:

  • consider restoring some level of animation (just not moving buttons, like we used to)
  • consider adding a "stronger" close-box with "never show again", perhaps via QToolButton with DelayedPopup.

Constructor & Destructor Documentation

◆ __init__()

enlighten.ui.Marquee.Marquee.__init__ ( self,
ctl )

Member Function Documentation

◆ clear()

enlighten.ui.Marquee.Marquee.clear ( self,
token = None,
force = False )

◆ close_callback()

enlighten.ui.Marquee.Marquee.close_callback ( self)

◆ error()

enlighten.ui.Marquee.Marquee.error ( self,
msg,
persist = False,
token = None,
benign = False,
immediate = False,
extra_ms = 0,
period_sec = None,
link = None )

◆ extra_ms()

enlighten.ui.Marquee.Marquee.extra_ms ( self)

◆ hide()

enlighten.ui.Marquee.Marquee.hide ( self)

◆ info()

enlighten.ui.Marquee.Marquee.info ( self,
msg,
persist = False,
token = None,
benign = None,
immediate = False,
extra_ms = 0,
period_sec = None,
link = None )

display an info message to the user

Parameters
persistleave message up until replaced or cancelled by token
tokento be used for later cancellation / replacement events
immediateignored as we've removed animation
benignsee Stylesheets.set_benign
extra_msleave message up this much longer than default (relative)
period_secif longer than the default, use this display time (absolute)
linkclickable URL
See also
Stylesheets.set_benign

◆ last_token()

enlighten.ui.Marquee.Marquee.last_token ( self)

◆ link()

enlighten.ui.Marquee.Marquee.link ( self)

◆ link_activated_callback()

enlighten.ui.Marquee.Marquee.link_activated_callback ( self,
link )

◆ persist()

enlighten.ui.Marquee.Marquee.persist ( self)

◆ schedule_clear()

enlighten.ui.Marquee.Marquee.schedule_clear ( self,
immediate = False )

◆ showing_error()

enlighten.ui.Marquee.Marquee.showing_error ( self)

◆ showing_something()

enlighten.ui.Marquee.Marquee.showing_something ( self)

◆ stop()

enlighten.ui.Marquee.Marquee.stop ( self)

◆ tick()

enlighten.ui.Marquee.Marquee.tick ( self)

Member Data Documentation

◆ close_callback

enlighten.ui.Marquee.Marquee.close_callback

◆ ctl

enlighten.ui.Marquee.Marquee.ctl = ctl

◆ curr_message

enlighten.ui.Marquee.Marquee.curr_message = None

◆ default_css

enlighten.ui.Marquee.Marquee.default_css = self.inner.styleSheet()

◆ DRAWER_DURATION_MS

int enlighten.ui.Marquee.Marquee.DRAWER_DURATION_MS = 3000
static

◆ frame

enlighten.ui.Marquee.Marquee.frame = cfu.frame_drawer_white

◆ height

int enlighten.ui.Marquee.Marquee.height = Marquee.ORIG_HEIGHT

◆ inner

enlighten.ui.Marquee.Marquee.inner = cfu.frame_drawer_black

◆ label

enlighten.ui.Marquee.Marquee.label = cfu.label_drawer

◆ link_activated_callback

enlighten.ui.Marquee.Marquee.link_activated_callback

◆ next_clear_timestamp

enlighten.ui.Marquee.Marquee.next_clear_timestamp = None

◆ next_message

enlighten.ui.Marquee.Marquee.next_message = None

◆ ORIG_HEIGHT

int enlighten.ui.Marquee.Marquee.ORIG_HEIGHT = 36
static

◆ tick

enlighten.ui.Marquee.Marquee.tick

◆ timer

enlighten.ui.Marquee.Marquee.timer = QtCore.QTimer()

The documentation for this class was generated from the following file: