diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2021-12-09 01:40:38 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2021-12-09 02:07:16 +0100 |
commit | 347f0b28701932eba7eb063d9093e446b81debae (patch) | |
tree | b6941843b550f83221b13a3b2643b5a95cd428db /qt/SciListBox.cpp | |
parent | 5da5cb1c824c608159126a82011d8a8943b360e0 (diff) | |
download | tqscintilla-347f0b28701932eba7eb063d9093e446b81debae.tar.gz tqscintilla-347f0b28701932eba7eb063d9093e446b81debae.zip |
Rename Qt => TQt.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'qt/SciListBox.cpp')
-rw-r--r-- | qt/SciListBox.cpp | 333 |
1 files changed, 0 insertions, 333 deletions
diff --git a/qt/SciListBox.cpp b/qt/SciListBox.cpp deleted file mode 100644 index 3b34793..0000000 --- a/qt/SciListBox.cpp +++ /dev/null @@ -1,333 +0,0 @@ -// This module implements the specialisation of TQListBox that handles the -// Scintilla double-click callback. -// -// Copyright (c) 2006 -// Riverbank Computing Limited <info@riverbankcomputing.co.uk> -// -// This file is part of TQScintilla. -// -// This copy of TQScintilla is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2, or (at your option) any -// later version. -// -// TQScintilla is supplied 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 -// TQScintilla; see the file LICENSE. If not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdlib.h> -#include <string.h> - -#include <tqapplication.h> -#include <tqmap.h> -#include <tqpixmap.h> - -#include "SciListBox.h" - - -// The platform specific specialisation of the ListBox abstract class. - -class ListBoxX : public ListBox -{ -public: - ListBoxX(); - virtual ~ListBoxX(); - - CallBackAction cb_action; - void *cb_data; - - virtual void SetFont(Font &font); - virtual void Create(Window &parent,int,Point,int,bool); - virtual void SetAverageCharWidth(int); - virtual void SetVisibleRows(int); - virtual int GetVisibleRows() const; - virtual PRectangle GetDesiredRect(); - virtual int CaretFromEdge(); - virtual void Clear(); - virtual void Append(char *s,int type = -1); - virtual int Length(); - virtual void Select(int n); - virtual int GetSelection(); - virtual int Find(const char *prefix); - virtual void GetValue(int n,char *value,int len); - virtual void Sort(); - virtual void RegisterImage(int type,const char *xpm_data); - virtual void ClearRegisteredImages(); - virtual void SetDoubleClickAction(CallBackAction action,void *data); - virtual void SetList(const char *list,char separator,char typesep); - -private: - SciListBox *slb; - - typedef TQMap<int,TQPixmap> xpmMap; - xpmMap xset; -}; - - -ListBoxX::ListBoxX() : cb_action(0), cb_data(0), slb(0) -{ -} - - -ListBoxX::~ListBoxX() -{ -} - - -void ListBoxX::SetFont(Font &font) -{ - TQFont *f = reinterpret_cast<TQFont *>(font.GetID()); - - if (f) - slb -> setFont(*f); -} - - -void ListBoxX::Create(Window &parent,int,Point,int,bool) -{ - // The parent we want is the QextScintillaBase, not the text area. - id = slb = new SciListBox(reinterpret_cast<TQWidget *>(parent.GetID()) -> parentWidget(),this); -} - - -void ListBoxX::SetAverageCharWidth(int) -{ - // We rely on TQListBox::sizeHint() for the size of the list box rather - // than make calculations based on the average character width and the - // number of visible rows. -} - - -void ListBoxX::SetVisibleRows(int) -{ -} - - -int ListBoxX::GetVisibleRows() const -{ - return slb -> numItemsVisible(); -} - - -PRectangle ListBoxX::GetDesiredRect() -{ - PRectangle rc(0,0,100,100); - - if (slb) - { - TQSize sh = slb -> sizeHint(); - - rc.right = sh.width(); - rc.bottom = sh.height(); - } - - return rc; -} - - -int ListBoxX::CaretFromEdge() -{ - int dist = 0; - - // Find the width of the biggest image. - for (xpmMap::Iterator it = xset.begin(); it != xset.end(); ++it) - { - int w = it.data().width(); - - if (dist < w) - dist = w; - } - - if (slb) - dist += slb -> frameWidth(); - - // Fudge factor - adjust if required. - dist += 3; - - return dist; -} - - -void ListBoxX::Clear() -{ - slb -> clear(); -} - - -void ListBoxX::Append(char *s,int type) -{ - xpmMap::ConstIterator it; - - if (type < 0 || (it = xset.find(type)) == xset.end()) - slb -> insertItem(s); - else - slb -> insertItem(it.data(),s); -} - - -int ListBoxX::Length() -{ - return (slb ? slb -> numRows() : 0); -} - - -void ListBoxX::Select(int n) -{ - slb -> setSelected(n,TRUE); -} - - -int ListBoxX::GetSelection() -{ - return slb -> currentItem(); -} - - -int ListBoxX::Find(const char *prefix) -{ - return slb -> index(slb -> findItem(prefix,TQt::CaseSensitive|TQt::BeginsWith)); -} - - -void ListBoxX::GetValue(int n,char *value,int len) -{ - TQString s = slb -> text(n); - - if (s.isNull() || len <= 0) - value[0] = '\0'; - else - { - strncpy(value,s.latin1(),len - 1); - value[len - 1] = '\0'; - } -} - - -void ListBoxX::Sort() -{ - slb -> sort(); -} - - -void ListBoxX::RegisterImage(int type,const char *xpm_data) -{ - xset.insert(type,*reinterpret_cast<const TQPixmap *>(xpm_data)); -} - - -void ListBoxX::ClearRegisteredImages() -{ - xset.clear(); -} - - -void ListBoxX::SetDoubleClickAction(CallBackAction action,void *data) -{ - cb_action = action; - cb_data = data; -} - - -void ListBoxX::SetList(const char *list,char separator,char typesep) -{ - char *words; - - Clear(); - - if ((words = strdup(list)) != NULL) - { - char *startword = words; - char *numword = NULL; - - for (int i = 0; words[i] != '\0'; i++) - { - if (words[i] == separator) - { - words[i] = '\0'; - - if (numword) - *numword = '\0'; - - Append(startword,numword ? atoi(numword + 1) : -1); - - startword = words + i + 1; - numword = NULL; - } - else if (words[i] == typesep) - { - numword = words + i; - } - } - - if (startword) - { - if (numword) - *numword = '\0'; - - Append(startword,numword ? atoi(numword + 1) : -1); - } - - free(words); - } -} - - -// The ListBox methods that need to be implemented explicitly. - -ListBox::ListBox() -{ -} - - -ListBox::~ListBox() -{ -} - - -ListBox *ListBox::Allocate() -{ - return new ListBoxX(); -} - - -SciListBox::SciListBox(TQWidget *parent,ListBoxX *lbx_) - : TQListBox(parent,0,WType_Popup|WStyle_Customize|WStyle_NoBorder|WStaticContents), lbx(lbx_) -{ - setFocusProxy(parent); - - setFrameShape(StyledPanel); - setFrameShadow(Plain); - setHScrollBarMode(AlwaysOff); - - connect(this,TQT_SIGNAL(doubleClicked(TQListBoxItem *)), - TQT_SLOT(handleDoubleClick(TQListBoxItem *))); - - connect(this,TQT_SIGNAL(highlighted(TQListBoxItem *)), - TQT_SLOT(ensureCurrentVisible())); -} - - -SciListBox::~SciListBox() -{ - // Ensure that the main widget doesn't get a focus out event when this - // is destroyed. - setFocusProxy(0); -} - - -void SciListBox::handleDoubleClick(TQListBoxItem *) -{ - if (lbx && lbx -> cb_action) - lbx -> cb_action(lbx -> cb_data); -} - -#include "SciListBox.moc" |