NeoMutt  2022-04-29-178-g3b62e6
Teaching an old dog new tricks
DOXYGEN
ibar.c File Reference

Index Bar (status) More...

#include "config.h"
#include <stdbool.h>
#include "mutt/lib.h"
#include "config/lib.h"
#include "core/lib.h"
#include "gui/lib.h"
#include "lib.h"
#include "color/lib.h"
#include "private_data.h"
#include "shared_data.h"
#include "status.h"
+ Include dependency graph for ibar.c:

Go to the source code of this file.

Data Structures

struct  IBarPrivateData
 Data to draw the Index Bar. More...
 

Functions

static int ibar_recalc (struct MuttWindow *win)
 Recalculate the Window data - Implements MuttWindow::recalc() -. More...
 
static int ibar_repaint (struct MuttWindow *win)
 Repaint the Window - Implements MuttWindow::repaint() -. More...
 
static int ibar_color_observer (struct NotifyCallback *nc)
 Notification that a Color has changed - Implements observer_t -. More...
 
static int ibar_config_observer (struct NotifyCallback *nc)
 Notification that a Config Variable has changed - Implements observer_t -. More...
 
static int ibar_index_observer (struct NotifyCallback *nc)
 Notification that the Index has changed - Implements observer_t -. More...
 
static int ibar_menu_observer (struct NotifyCallback *nc)
 Notification that a Menu has changed - Implements observer_t -. More...
 
static int ibar_window_observer (struct NotifyCallback *nc)
 Notification that a Window has changed - Implements observer_t -. More...
 
static void ibar_data_free (struct MuttWindow *win, void **ptr)
 Free the private data attached to the MuttWindow - Implements MuttWindow::wdata_free() -. More...
 
static struct IBarPrivateDataibar_data_new (struct IndexSharedData *shared, struct IndexPrivateData *priv)
 Free the private data attached to the MuttWindow. More...
 
struct MuttWindowibar_new (struct MuttWindow *parent, struct IndexSharedData *shared, struct IndexPrivateData *priv)
 Create the Index Bar (status) More...
 

Detailed Description

Index Bar (status)

Authors
  • Richard Russon

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Definition in file ibar.c.

Function Documentation

◆ ibar_data_new()

static struct IBarPrivateData * ibar_data_new ( struct IndexSharedData shared,
struct IndexPrivateData priv 
)
static

Free the private data attached to the MuttWindow.

Parameters
sharedShared Index data
privPrivate Index data
Return values
ptrNew IBar

Definition at line 313 of file ibar.c.

315{
316 struct IBarPrivateData *ibar_data = mutt_mem_calloc(1, sizeof(struct IBarPrivateData));
317
318 ibar_data->shared = shared;
319 ibar_data->priv = priv;
320
321 return ibar_data;
322}
void * mutt_mem_calloc(size_t nmemb, size_t size)
Allocate zeroed memory on the heap.
Definition: memory.c:50
Data to draw the Index Bar.
Definition: ibar.c:78
struct IndexSharedData * shared
Shared Index data.
Definition: ibar.c:79
struct IndexPrivateData * priv
Private Index data.
Definition: ibar.c:80
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ibar_new()

struct MuttWindow * ibar_new ( struct MuttWindow parent,
struct IndexSharedData shared,
struct IndexPrivateData priv 
)

Create the Index Bar (status)

Parameters
parentParent Window
sharedShared Index data
privPrivate Index data
Return values
ptrNew Index Bar

Definition at line 331 of file ibar.c.

333{
337
338 win_ibar->wdata = ibar_data_new(shared, priv);
339 win_ibar->wdata_free = ibar_data_free;
340 win_ibar->recalc = ibar_recalc;
341 win_ibar->repaint = ibar_repaint;
342
348
349 return win_ibar;
350}
static int ibar_menu_observer(struct NotifyCallback *nc)
Notification that a Menu has changed - Implements observer_t -.
Definition: ibar.c:242
static int ibar_window_observer(struct NotifyCallback *nc)
Notification that a Window has changed - Implements observer_t -.
Definition: ibar.c:259
static int ibar_config_observer(struct NotifyCallback *nc)
Notification that a Config Variable has changed - Implements observer_t -.
Definition: ibar.c:192
static int ibar_color_observer(struct NotifyCallback *nc)
Notification that a Color has changed - Implements observer_t -.
Definition: ibar.c:166
static int ibar_index_observer(struct NotifyCallback *nc)
Notification that the Index has changed - Implements observer_t -.
Definition: ibar.c:227
static int ibar_recalc(struct MuttWindow *win)
Recalculate the Window data - Implements MuttWindow::recalc() -.
Definition: ibar.c:89
static int ibar_repaint(struct MuttWindow *win)
Repaint the Window - Implements MuttWindow::repaint() -.
Definition: ibar.c:138
static void ibar_data_free(struct MuttWindow *win, void **ptr)
Free the private data attached to the MuttWindow - Implements MuttWindow::wdata_free() -.
Definition: ibar.c:296
static struct IBarPrivateData * ibar_data_new(struct IndexSharedData *shared, struct IndexPrivateData *priv)
Free the private data attached to the MuttWindow.
Definition: ibar.c:313
bool notify_observer_add(struct Notify *notify, enum NotifyType type, observer_t callback, void *global_data)
Add an observer to an object.
Definition: notify.c:189
struct MuttWindow * mutt_window_new(enum WindowType type, enum MuttWindowOrientation orient, enum MuttWindowSize size, int cols, int rows)
Create a new Window.
Definition: mutt_window.c:181
@ WT_STATUS_BAR
Status Bar containing extra info about the Index/Pager/etc.
Definition: mutt_window.h:102
@ MUTT_WIN_ORIENT_VERTICAL
Window uses all available vertical space.
Definition: mutt_window.h:38
#define MUTT_WIN_SIZE_UNLIMITED
Use as much space as possible.
Definition: mutt_window.h:52
@ MUTT_WIN_SIZE_FIXED
Window has a fixed size.
Definition: mutt_window.h:47
@ NT_WINDOW
MuttWindow has changed, NotifyWindow, EventWindow.
Definition: notify_type.h:55
@ NT_MENU
Menu has changed, MenuRedrawFlags.
Definition: notify_type.h:51
@ NT_CONFIG
Config has changed, NotifyConfig, EventConfig.
Definition: notify_type.h:43
@ NT_COLOR
Colour has changed, NotifyColor, EventColor.
Definition: notify_type.h:41
@ NT_ALL
Register for all notifications.
Definition: notify_type.h:35
struct Notify * notify
Notifications: NotifyIndex, IndexSharedData.
Definition: shared_data.h:44
int(* repaint)(struct MuttWindow *win)
Definition: mutt_window.h:182
void * wdata
Private data.
Definition: mutt_window.h:145
struct Notify * notify
Notifications: NotifyWindow, EventWindow.
Definition: mutt_window.h:138
int(* recalc)(struct MuttWindow *win)
Definition: mutt_window.h:171
void(* wdata_free)(struct MuttWindow *win, void **ptr)
Definition: mutt_window.h:160
struct MuttWindow * parent
Parent Window.
Definition: mutt_window.h:135
Container for Accounts, Notifications.
Definition: neomutt.h:37
struct Notify * notify
Notifications handler.
Definition: neomutt.h:38
+ Here is the call graph for this function:
+ Here is the caller graph for this function: