wxMaxima
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions
StatusBar Class Reference

The class that draws the status bar. More...

#include <StatusBar.h>

Inheritance diagram for StatusBar:
[legend]
Collaboration diagram for StatusBar:
[legend]

Public Types

enum  networkState {
  idle , error , offline , receive ,
  transmit
}
 The network states that can be passed to NetworkStatus()
 
enum  MaximaStatus {
  wait_for_start , process_wont_start , sending , waiting ,
  waitingForPrompt , waitingForAuth , calculating , parsing ,
  transferring , userinput , maximaerror , debugging ,
  lispmode , disconnected
}
 

Public Member Functions

 StatusBar (wxWindow *parent, int id)
 
void UpdateBitmaps ()
 Update the bitmaps to the Right size for the Resolution.
 
void NetworkStatus (networkState status)
 Informs the status bar about networking events.
 
wxWindow * GetNetworkStatusElement ()
 
wxWindow * GetStatusTextElement ()
 
wxWindow * GetMaximaStatusElement ()
 
void SetMaximaCPUPercentage (float percentage)
 Inform the status bar how many percents of the available CPU power maxima uses.
 
void UpdateStatusMaximaBusy (MaximaStatus status, std::size_t bytesFromMaxima)
 
wxBitmap GetTrayIconBitmap (MaximaStatus status) const
 The exact bitmap m_maximaStatus itself would show for this status – i.e.
 
void SetStatusText (wxString statusText)
 Set the left status text.
 

Protected Member Functions

void StatusMsgDClick (wxMouseEvent &ev)
 
void OnSize (wxSizeEvent &event)
 
void OnTimerEvent (wxTimerEvent &event)
 
void HandleTimerEvent ()
 

Detailed Description

The class that draws the status bar.

Member Enumeration Documentation

◆ MaximaStatus

Enumerator
debugging 

Maxima's Lisp is stopped in a debugger (e.g. sbcl's LDB).

lispmode 

Maxima's reader is in Lisp mode (after to_lisp() / a MAXIMA> prompt).

Member Function Documentation

◆ GetTrayIconBitmap()

wxBitmap StatusBar::GetTrayIconBitmap ( MaximaStatus  status) const
inline

The exact bitmap m_maximaStatus itself would show for this status – i.e.

the same per-status icon UpdateStatusMaximaBusy()'s switch already assigns via m_maximaStatus->SetBitmap(...), just returned instead of applied to that particular wxStaticBitmap. Lets TrayIcon (GH #2286) reuse these bitmaps instead of re-embedding the same art a second time – the generated headers under art/statusbar (one per icon) define their byte arrays without static/extern, so include-ing one from a second .cpp file is a duplicate-symbol link error, confirmed by trying exactly that first. NOT the m_network_* bitmaps: those belong to the separate m_networkStatus icon (raw socket send/receive activity, driven by HandleTimerEvent()), a different concern from "what is Maxima doing" – using them here first, before this comment, showed as a barely-visible speck in the tray because the "idle" one in that family is a very subtle, mostly-transparent glyph.

◆ SetStatusText()

void StatusBar::SetStatusText ( wxString  statusText)
inline

Set the left status text.

Skips unchanged text: wxStaticText::SetLabel() re-sizes the label even for identical text, which on wxGTK re-layouts (and repaints) the whole frame - too expensive for a setter that is called from the idle loop.


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