You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
377 lines
7.9 KiB
377 lines
7.9 KiB
/***************************************************************************
|
|
*
|
|
* Copyright (C) 2005 Elad Lahav (elad_lahav@users.sourceforge.net)
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
***************************************************************************/
|
|
|
|
#include <tdeglobal.h>
|
|
#include <kiconloader.h>
|
|
#include "kscopepixmaps.h"
|
|
|
|
static const char* XPM_FUNC[] = {
|
|
"12 12 2 1",
|
|
". c #000000",
|
|
"# c #58a8ff",
|
|
"............",
|
|
".##########.",
|
|
".###....###.",
|
|
".###.######.",
|
|
".###.######.",
|
|
".###.######.",
|
|
".###....###.",
|
|
".###.######.",
|
|
".###.######.",
|
|
".###.######.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_VAR[] = {
|
|
"12 12 3 1",
|
|
". c #000000",
|
|
"a c #c00000",
|
|
"# c #ff0000",
|
|
"............",
|
|
".##########.",
|
|
".##########.",
|
|
".##.####.##.",
|
|
".##.####.##.",
|
|
".##.a##a.##.",
|
|
".##a.##.a##.",
|
|
".###.aa.###.",
|
|
".###a..a###.",
|
|
".####..####.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_STRUCT[] = {
|
|
"12 12 2 1",
|
|
". c #000000",
|
|
"# c #ffff00",
|
|
"............",
|
|
".##########.",
|
|
".####...###.",
|
|
".###.###.##.",
|
|
".###.######.",
|
|
".####.#####.",
|
|
".#####.####.",
|
|
".######.###.",
|
|
".##.###.###.",
|
|
".###...####.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_MACRO[] = {
|
|
"12 12 2 1",
|
|
". c #000000",
|
|
"# c #00c000",
|
|
"............",
|
|
".##########.",
|
|
".##.####.##.",
|
|
".##..##..##.",
|
|
".##.#..#.##.",
|
|
".##.####.##.",
|
|
".##.####.##.",
|
|
".##.####.##.",
|
|
".##.####.##.",
|
|
".##.####.##.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_MEMBER[] = {
|
|
"12 12 3 1",
|
|
". c #000000",
|
|
"a c #0000c0",
|
|
"# c #c0c0ff",
|
|
"............",
|
|
".##########.",
|
|
".##########.",
|
|
".##########.",
|
|
".##a.##.a##.",
|
|
".##.a..a.##.",
|
|
".##.#aa#.##.",
|
|
".##.####.##.",
|
|
".##.####.##.",
|
|
".##########.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_ENUM[] = {
|
|
"12 12 2 1",
|
|
". c #000000",
|
|
"# c #ff00ff",
|
|
"............",
|
|
".##########.",
|
|
".##########.",
|
|
".##......##.",
|
|
".##.#######.",
|
|
".##.#######.",
|
|
".##.....###.",
|
|
".##.#######.",
|
|
".##.#######.",
|
|
".##......##.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_ENUMERATOR[] = {
|
|
"12 12 2 1",
|
|
". c #000000",
|
|
"# c #ffc0c0",
|
|
"............",
|
|
".##########.",
|
|
".##########.",
|
|
".###...####.",
|
|
".##.###.###.",
|
|
".##.###.###.",
|
|
".##.....###.",
|
|
".##.#######.",
|
|
".##.###.###.",
|
|
".###...####.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_TYPEDEF[] = {
|
|
"12 12 2 1",
|
|
". c #000000",
|
|
"# c #c0ffc0",
|
|
"............",
|
|
".##########.",
|
|
".#.......##.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_LABEL[] = {
|
|
"12 12 2 1",
|
|
". c #000000",
|
|
"# c #c0ff00",
|
|
"............",
|
|
".##########.",
|
|
".#.########.",
|
|
".#.########.",
|
|
".#.########.",
|
|
".#.########.",
|
|
".#.########.",
|
|
".#.########.",
|
|
".#.########.",
|
|
".#.......##.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_INCLUDE[] = {
|
|
"12 12 2 1",
|
|
". c #000000",
|
|
"# c #c0c0c0",
|
|
"............",
|
|
".##########.",
|
|
".##.....###.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".####.#####.",
|
|
".##.....###.",
|
|
".##########.",
|
|
"............"
|
|
};
|
|
|
|
static const char* XPM_UNKNOWN[] = {
|
|
"12 12 2 1",
|
|
". c #000000",
|
|
"# c #ffffff",
|
|
"............",
|
|
".##########.",
|
|
".##.....###.",
|
|
".#.#####.##.",
|
|
".########.#.",
|
|
".########.#.",
|
|
".#######.##.",
|
|
".######.###.",
|
|
".####.#####.",
|
|
".##########.",
|
|
".####.#####.",
|
|
"............"
|
|
};
|
|
|
|
/**
|
|
* Class constructor.
|
|
*/
|
|
KScopePixmaps::KScopePixmaps() :
|
|
m_pPixArray(NULL),
|
|
m_loader()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Class destructor.
|
|
*/
|
|
KScopePixmaps::~KScopePixmaps()
|
|
{
|
|
int i;
|
|
|
|
for (i = 0; i < PIX_ARRAY_SIZE; i++)
|
|
delete m_pPixArray[i];
|
|
|
|
delete [] m_pPixArray;
|
|
}
|
|
|
|
/**
|
|
* Creates the array of embedded pixmaps.
|
|
* This function is separated from the constructor since TQPixmap objects
|
|
* cannot be created at the time the static KScopePixmaps object is
|
|
* allocated.
|
|
*/
|
|
void KScopePixmaps::init()
|
|
{
|
|
// Create the pixmap array
|
|
m_pPixArray = new TQPixmap * [PIX_ARRAY_SIZE];
|
|
|
|
// Create all pixmaps
|
|
m_pPixArray[SymFunc] = new TQPixmap(XPM_FUNC);
|
|
m_pPixArray[SymVar] = new TQPixmap(XPM_VAR);
|
|
m_pPixArray[SymStruct] = new TQPixmap(XPM_STRUCT);
|
|
m_pPixArray[SymMacro] = new TQPixmap(XPM_MACRO);
|
|
m_pPixArray[SymMember] = new TQPixmap(XPM_MEMBER);
|
|
m_pPixArray[SymEnum] = new TQPixmap(XPM_ENUM);
|
|
m_pPixArray[SymEnumerator] = new TQPixmap(XPM_ENUMERATOR);
|
|
m_pPixArray[SymTypedef] = new TQPixmap(XPM_TYPEDEF);
|
|
m_pPixArray[SymLabel] = new TQPixmap(XPM_LABEL);
|
|
m_pPixArray[SymInclude] = new TQPixmap(XPM_INCLUDE);
|
|
m_pPixArray[SymUnknown] = new TQPixmap(XPM_UNKNOWN);
|
|
}
|
|
|
|
/**
|
|
* Returns a reference to an embedded pixmap.
|
|
* @param name The pixmap's identifier
|
|
* @return A reference to the requested pixmap
|
|
*/
|
|
const TQPixmap& KScopePixmaps::getPixmap(PixName name) const
|
|
{
|
|
return *m_pPixArray[name];
|
|
}
|
|
|
|
/**
|
|
* Loads a pixmap with the TDEIconLoader mechanism.
|
|
* @param name The pixmap's identifier
|
|
* @return The requested pixmap
|
|
*/
|
|
TQPixmap KScopePixmaps::getPixmap(LoadPixName name)
|
|
{
|
|
switch (name) {
|
|
case TabUnlocked:
|
|
return m_loader.loadIcon("query_unlocked", TDEIcon::Small, 0,
|
|
false);
|
|
|
|
case TabLocked:
|
|
return m_loader.loadIcon("query_locked", TDEIcon::Small, 0,
|
|
false);
|
|
|
|
case TabBookmark:
|
|
return m_loader.loadIcon("bookmark", TDEIcon::Small, 0,
|
|
false);
|
|
|
|
case TabRW:
|
|
return m_loader.loadIcon("file_rw", TDEIcon::Small, 0,
|
|
false);
|
|
|
|
case TabRO:
|
|
return m_loader.loadIcon("file_ro", TDEIcon::Small, 0,
|
|
false);
|
|
|
|
case TabSave:
|
|
return m_loader.loadIcon("file_save", TDEIcon::Small, 0,
|
|
false);
|
|
|
|
case TabFileList:
|
|
return m_loader.loadIcon("view_detailed", TDEIcon::Small, 0,
|
|
false);
|
|
|
|
case TabFileTree:
|
|
return m_loader.loadIcon("view_tree", TDEIcon::Small, 0,
|
|
false);
|
|
|
|
case TabList:
|
|
return m_loader.loadIcon("tab_list", TDEIcon::Small, 0,
|
|
false);
|
|
|
|
case ButtonSaveAs:
|
|
return m_loader.loadIcon("document-save-as", TDEIcon::Toolbar,
|
|
0, false);
|
|
|
|
case ButtonZoomIn:
|
|
return m_loader.loadIcon("zoom-in", TDEIcon::Toolbar,
|
|
0, false);
|
|
|
|
case ButtonZoomOut:
|
|
return m_loader.loadIcon("zoom-out", TDEIcon::Toolbar,
|
|
0, false);
|
|
|
|
case ButtonRotate:
|
|
return m_loader.loadIcon("rotate", TDEIcon::Toolbar,
|
|
0, false);
|
|
|
|
case ButtonPref:
|
|
return m_loader.loadIcon("configure", TDEIcon::Toolbar,
|
|
0, false);
|
|
|
|
case CalledTree:
|
|
return m_loader.loadIcon("called_tree", TDEIcon::Toolbar,
|
|
0, false);
|
|
|
|
case CallingTree:
|
|
return m_loader.loadIcon("calling_tree", TDEIcon::Toolbar,
|
|
0, false);
|
|
|
|
case CallGraph:
|
|
return m_loader.loadIcon("call_graph", TDEIcon::Toolbar,
|
|
0, false);
|
|
}
|
|
|
|
return TQPixmap();
|
|
}
|
|
|
|
/**
|
|
* @return A reference to a global KScopePixmaps object
|
|
*/
|
|
KScopePixmaps& Pixmaps()
|
|
{
|
|
static KScopePixmaps pix;
|
|
return pix;
|
|
}
|