LibreOffice Module vcl (master) 1
Classes | Namespaces | Macros | Functions
tabctrl.cxx File Reference
#include <sal/config.h>
#include <sal/log.hxx>
#include <vcl/notebookbar/notebookbar.hxx>
#include <vcl/svapp.hxx>
#include <vcl/help.hxx>
#include <vcl/event.hxx>
#include <vcl/menu.hxx>
#include <vcl/toolkit/button.hxx>
#include <vcl/tabpage.hxx>
#include <vcl/tabctrl.hxx>
#include <vcl/toolbox.hxx>
#include <vcl/layout.hxx>
#include <vcl/mnemonic.hxx>
#include <vcl/toolkit/lstbox.hxx>
#include <vcl/settings.hxx>
#include <vcl/uitest/uiobject.hxx>
#include <bitmaps.hlst>
#include <tools/json_writer.hxx>
#include <svdata.hxx>
#include <window.h>
#include <deque>
#include <unordered_map>
#include <vector>
Include dependency graph for tabctrl.cxx:

Go to the source code of this file.

Classes

class  ImplTabItem
 
struct  ImplTabCtrlData
 

Namespaces

namespace  MinimumRaggednessWrap
 

Macros

#define TAB_OFFSET   3
 
#define TAB_ITEM_OFFSET_X   10
 Space to the left and right of the tabitem. More...
 
#define TAB_ITEM_OFFSET_Y   3
 Space to the top and bottom of the tabitem. More...
 
#define TAB_EXTRASPACE_X   6
 
#define TAB_BORDER_LEFT   1
 
#define TAB_BORDER_TOP   1
 
#define TAB_BORDER_RIGHT   2
 
#define TAB_BORDER_BOTTOM   2
 
#define TAB_PAGERECT   0xFFFF
 

Functions

static std::deque< size_t > MinimumRaggednessWrap::GetEndOfLineIndexes (const std::vector< sal_Int32 > &rWidthsOf, sal_Int32 nLineWidth)
 
static void lcl_AdjustSingleLineTabs (tools::Long nMaxWidth, ImplTabCtrlData *pTabCtrlData)
 
 IMPL_LINK_NOARG (TabControl, ImplListBoxSelectHdl, ListBox &, void)
 
 IMPL_LINK (TabControl, ImplWindowEventListener, VclWindowEvent &, rEvent, void)
 
static bool lcl_canPaint (const vcl::RenderContext &rRenderContext, const tools::Rectangle &rDrawRect, const tools::Rectangle &rItemRect)
 
 IMPL_LINK_NOARG (NotebookbarTabControlBase, OpenMenu, Button *, void)
 
static bool lcl_isValidPage (const ImplTabItem &rItem, bool &bFound)
 

Macro Definition Documentation

◆ TAB_BORDER_BOTTOM

#define TAB_BORDER_BOTTOM   2

Definition at line 56 of file tabctrl.cxx.

◆ TAB_BORDER_LEFT

#define TAB_BORDER_LEFT   1

Definition at line 53 of file tabctrl.cxx.

◆ TAB_BORDER_RIGHT

#define TAB_BORDER_RIGHT   2

Definition at line 55 of file tabctrl.cxx.

◆ TAB_BORDER_TOP

#define TAB_BORDER_TOP   1

Definition at line 54 of file tabctrl.cxx.

◆ TAB_EXTRASPACE_X

#define TAB_EXTRASPACE_X   6

Definition at line 52 of file tabctrl.cxx.

◆ TAB_ITEM_OFFSET_X

#define TAB_ITEM_OFFSET_X   10

Space to the left and right of the tabitem.

Definition at line 49 of file tabctrl.cxx.

◆ TAB_ITEM_OFFSET_Y

#define TAB_ITEM_OFFSET_Y   3

Space to the top and bottom of the tabitem.

Definition at line 51 of file tabctrl.cxx.

◆ TAB_OFFSET

#define TAB_OFFSET   3

Definition at line 47 of file tabctrl.cxx.

◆ TAB_PAGERECT

#define TAB_PAGERECT   0xFFFF

Definition at line 98 of file tabctrl.cxx.

Function Documentation

◆ IMPL_LINK()

IMPL_LINK ( TabControl  ,
ImplWindowEventListener  ,
VclWindowEvent ,
rEvent  ,
void   
)

Definition at line 1029 of file tabctrl.cxx.

References WindowKeyInput.

◆ IMPL_LINK_NOARG() [1/2]

IMPL_LINK_NOARG ( NotebookbarTabControlBase  ,
OpenMenu  ,
Button ,
void   
)

Definition at line 2185 of file tabctrl.cxx.

◆ IMPL_LINK_NOARG() [2/2]

IMPL_LINK_NOARG ( TabControl  ,
ImplListBoxSelectHdl  ,
ListBox ,
void   
)

Definition at line 1024 of file tabctrl.cxx.

◆ lcl_AdjustSingleLineTabs()

static void lcl_AdjustSingleLineTabs ( tools::Long  nMaxWidth,
ImplTabCtrlData pTabCtrlData 
)
static

Definition at line 368 of file tabctrl.cxx.

References ImplGetSVData(), and ImplTabCtrlData::maItemList.

Referenced by TabControl::ImplPlaceTabs().

◆ lcl_canPaint()

static bool lcl_canPaint ( const vcl::RenderContext rRenderContext,
const tools::Rectangle rDrawRect,
const tools::Rectangle rItemRect 
)
static

◆ lcl_isValidPage()

static bool lcl_isValidPage ( const ImplTabItem rItem,
bool &  bFound 
)
static

Definition at line 2275 of file tabctrl.cxx.

References ImplTabItem::m_bEnabled, and ImplTabItem::m_bVisible.