Ejemplo n.º 1
0
//------------------------------------------------------------------------------
int replace_panel( PANEL* pan, WINDOW* win )
{
	__QCS_FCONTEXT( "replace_panel" );

    int maxy, maxx;

    if( !pan )
	{
        return ERR;
	}

    if( _panel_is_linked( pan ) )
	{
        _override( pan, 0 );
	}

    pan->win = win;
    getbegyx( win, pan->wstarty, pan->wstartx );
    getmaxyx( win, maxy, maxx );
    pan->wendy = pan->wstarty + maxy;
    pan->wendx = pan->wstartx + maxx;

    if( _panel_is_linked( pan ) )
	{
		_calculate_obscure();
	}

    return 0;
}
Ejemplo n.º 2
0
int move_panel(PANEL *pan, int starty, int startx)
{
    WINDOW *win;
    int maxy, maxx;

    if (!pan)
        return ERR;

    if (_panel_is_linked(pan))
        _override(pan, 0);

    win = pan->win;

    if (mvwin(win, starty, startx) == ERR)
        return ERR;

    getbegyx(win, pan->wstarty, pan->wstartx);
    getmaxyx(win, maxy, maxx);
    pan->wendy = pan->wstarty + maxy;
    pan->wendx = pan->wstartx + maxx;

    if (_panel_is_linked(pan))
        _calculate_obscure();

    return OK;
}
Ejemplo n.º 3
0
int panel_hidden(const PANEL *pan)
{
    if (!pan)
        return ERR;

    return _panel_is_linked(pan) ? ERR : OK;
}
Ejemplo n.º 4
0
// link panel into stack at bottom
//------------------------------------------------------------------------------
static void _panel_link_bottom( PANEL* pan )
{
	__QCS_FCONTEXT( "_panel_link_bottom" );

#ifdef PANEL_DEBUG
    dStack( "<lb%d>", 1, pan );
    if( _panel_is_linked( pan ) )
	{
        return;
	}
#endif
    pan->above = (PANEL*)0;
    pan->below = (PANEL*)0;

    if( _bottom_panel )
    {
        _bottom_panel->below = pan;
        pan->above = _bottom_panel;
    }

    _bottom_panel = pan;

    if( !_top_panel )
	{
        _top_panel = pan;
	}

    _calculate_obscure();
    dStack( "<lb%d>", 9, pan );
}
Ejemplo n.º 5
0
//------------------------------------------------------------------------------
int panel_hidden( const PANEL* pan )
{ 
	__QCS_FCONTEXT( "panel_hidden" );
    if( !pan )
	{
        return ERR;
	}

    return _panel_is_linked( pan ) ? ERR : 0;
}
Ejemplo n.º 6
0
int replace_panel(PANEL *pan, WINDOW *win)
{
    int maxy, maxx;

    if (!pan)
        return ERR;

    if (_panel_is_linked(pan))
        _override(pan, 0);

    pan->win = win;
    getbegyx(win, pan->wstarty, pan->wstartx);
    getmaxyx(win, maxy, maxx);
    pan->wendy = pan->wstarty + maxy;
    pan->wendx = pan->wstartx + maxx;

    if (_panel_is_linked(pan))
        _calculate_obscure();

    return OK;
}
Ejemplo n.º 7
0
int del_panel(PANEL *pan)
{
    if (pan)
    {
        if (_panel_is_linked(pan))
            hide_panel(pan);

        free((char *)pan);
        return OK;
    }

    return ERR;
}
Ejemplo n.º 8
0
//------------------------------------------------------------------------------
static void _panel_unlink( PANEL* pan )
{
	__QCS_FCONTEXT( "_panel_unlink" );

    PANEL* prev;
    PANEL* next;

#ifdef PANEL_DEBUG
    dStack( "<u%d>", 1, pan );
    if( !_panel_is_linked( pan ) )
	{
        return;
	}
#endif
    _override( pan, 0 );
    _free_obscure( pan );

    prev = pan->below;
    next = pan->above;

    // if non-zero, we will not update the list head

    if( prev )
    {
        prev->above = next;
        if( next )
		{
            next->below = prev;
		}
    }
    else if( next )
	{
        next->below = prev;
	}

    if( pan == _bottom_panel )
	{
        _bottom_panel = next;
	}

    if( pan == _top_panel )
	{
        _top_panel = prev;
	}

    _calculate_obscure();

    pan->above = (PANEL*)0;
    pan->below = (PANEL*)0;
    dStack( "<u%d>", 9, pan );
}
Ejemplo n.º 9
0
//------------------------------------------------------------------------------
int move_panel( PANEL* pan, int starty, int startx )
{
	__QCS_FCONTEXT( "move_panel" );

    WINDOW* win;
    int maxy, maxx;

    if( !pan )
	{
        return ERR;
	}

    if( _panel_is_linked( pan ) )
	{
        _override( pan, 0 );
	}

    win = pan->win;

    if( mvwin( win, starty, startx ) == ERR )
	{
        return ERR;
	}

    getbegyx( win, pan->wstarty, pan->wstartx );
    getmaxyx( win, maxy, maxx );
    pan->wendy = pan->wstarty + maxy;
    pan->wendx = pan->wstartx + maxx;

    if( _panel_is_linked( pan ) )
	{
        _calculate_obscure();
	}

    return 0;
}
Ejemplo n.º 10
0
int bottom_panel(PANEL *pan)
{
    if (!pan)
        return ERR;

    if (pan == _bottom_panel)
        return OK;

    if (_panel_is_linked(pan))
        hide_panel(pan);

    _panel_link_bottom(pan);

    return OK;
}
Ejemplo n.º 11
0
int show_panel(PANEL *pan)
{
    if (!pan)
        return ERR;

    if (pan == _top_panel)
        return OK;

    if (_panel_is_linked(pan))
        hide_panel(pan);

    _panel_link_top(pan);

    return OK;
}
Ejemplo n.º 12
0
int hide_panel(PANEL *pan)
{
    if (!pan)
        return ERR;

    if (!_panel_is_linked(pan))
    {
        pan->above = (PANEL *)0;
        pan->below = (PANEL *)0;
        return ERR;
    }

    _panel_unlink(pan);

    return OK;
}
Ejemplo n.º 13
0
//------------------------------------------------------------------------------
int del_panel( PANEL* pan )
{
	__QCS_FCONTEXT( "del_panel" );

    if( pan )
    {
		if( _panel_is_linked( pan ) )
		{
            hide_panel( pan );
		}

        free( (char*)pan );
        return 0;
    }

    return ERR;
}
Ejemplo n.º 14
0
//------------------------------------------------------------------------------
int hide_panel( PANEL* pan )
{
	__QCS_FCONTEXT( "hide_panel" );

    if( !pan )
	{
        return ERR;
	}

    if( !_panel_is_linked( pan ) )
    {
        pan->above = (PANEL*)0;
        pan->below = (PANEL*)0;
        return ERR;
    }

    _panel_unlink( pan );

    return 0;
}
Ejemplo n.º 15
0
//------------------------------------------------------------------------------
int show_panel( PANEL* pan )
{
    if( !pan )
	{
        return ERR;
	}

    if( pan == _top_panel )
	{
        return 0;
	}

    if( _panel_is_linked( pan ) )
	{
        hide_panel( pan );
	}

    _panel_link_top( pan );

    return 0;
}
Ejemplo n.º 16
0
//------------------------------------------------------------------------------
int bottom_panel( PANEL* pan )
{
	__QCS_FCONTEXT( "bottom_panel" );
    
	if( !pan )
	{
        return ERR;
	}

    if( pan == _bottom_panel )
	{
        return 0;
	}

    if( _panel_is_linked( pan ) )
	{
        hide_panel( pan );
	}

    _panel_link_bottom( pan );

    return 0;
}
Ejemplo n.º 17
0
static void _panel_link_top(PANEL *pan)
{
#ifdef PANEL_DEBUG
    dStack("<lt%d>", 1, pan);
    if (_panel_is_linked(pan))
        return;
#endif
    pan->above = (PANEL *)0;
    pan->below = (PANEL *)0;

    if (_top_panel)
    {
        _top_panel->above = pan;
        pan->below = _top_panel;
    }

    _top_panel = pan;

    if (!_bottom_panel)
        _bottom_panel = pan;

    _calculate_obscure();
    dStack("<lt%d>", 9, pan);
}