txtfield

Модуль для создания текстовых полей.

автор: watt

txtfield.LoadFont(filename)

Загружает свой шрифт в систему, возвращает идентификатор шрифта.

Note

если возвращаемое значение == 0, шрифт не будет удален и останется висеть в системе до следующей перезагрузки.

Note

НЕ используйте шрифты с внутреними именами равными системным (шрифт будет “виден” из любой программы)

>>> txtfield.LoadFont(u'e:\\myfont.gdr')
txtfield.RemoveFont(id)
Parameters:id – идентификатор шрифта из функции ;py:meth:LoadFont()

Выгружает шрифт из системы

txtfield.ShadowVector(x, y)

Установливает вектор тени.

>>> txtfield.ShadowVector(-1,3)
class txtfield.New((rect)[, strlimit=0, txtlimit=0, cornertype= ECornerSquare, cornerflag=None, editorflag=None, picalign=EPicBaseLine, callback=None])
Parameters:
  • rect – (x1, y1, x2, y2) координаты окна
  • strlimit – допустимое количество строк
  • txtlimit – максимальное количество символов
  • cornertype

    скругление углов

    • txtfield.ECornerSquare
    • txtfield.ECorner1
    • txtfield.ECorner2
    • txtfield.ECorner5
  • cornerflag

    какие углы не скруглять

    • txtfield.ENotTL - верхний-левый
    • txtfield.ENotTR - верхний-правый
    • txtfield.ENotBL - нижний-левый
    • txtfield.ENotBR - нижний-правый
  • editorflag
    • txtfield.EDisplayOnly - не реагирует на действия пользователя
    • txtfield.EAlwaysShowSelection - при смене фокуса выделение не снимается
    • txtfield.EReadOnly - только для чтения
    • txtfield.ENoLineBreaks - не допускает переноса строки
    • txtfield.EDisableCursor - скрывает курсор
    • txtfield.picalign - выравнивание картинки относительно текста:
    • txtfield.EPicBaseLine - по линии текста
    • txtfield.EPicBottom - по низу
    • txtfield.EPicCentered - по центру
    • txtfield.EPicTop - по верху
  • callback – обработчик, в которую передается -1 после изменения, 0-навигация, и сканкод клавиши после EEventKeyDown

Данный класс создает текстовое поле.

>>> txt1 = txtfield.New(
        (20,120,156,200),
        cornertype = txtfield.ECorner2,
        cornerflag = txtfield.ENotTL | txtfield.ENotBR,
        editorflag = txtfield.EAlwaysShowSelection | txtfield.EReadOnly)
>>> txt2 = txtfield.New((20,120,156,200))
New._set(c)

Вроде устанавливает скорость прокрутки

New.add(text[, select=0])
Parameters:
  • text – тектс
  • select – 0|1 вставить с выделение

Добавляет текст с текущей позиции курсора

New.align(Alignment)

Выравнивание текста

  • txtfield.ELeftAlign - по левому краю
  • txtfield.ETopAlign - по верху
  • txtfield.ECenterAlign - по центру
  • txtfield.ERightAlign - по правому краю
  • txtfield.EBottomAlign - по низу
  • txtfield.EJustifiedAlign
  • txtfield.EUnspecifiedAlign - без выравнивания
New.bgcolor(color)

Установить цвет фона в hex формате

>>> txt1.bgcolor(0x88bb33)
New.clear([pos, len])

Очистить текст

New.clipboard(True|False)

Если True - вставить из буфера, если False - скопировать в буфер выделенный текст

New.focus(True|False)

Установить-снять фокус окна

New.get()

Получить текст окна, возвращает юникод строку.

New.info()

Возвращает кортеж: (len,position,isvisible,isfocus,piccount,wordcount,strcount,linepos)

  • len - длинну текста
  • position - текущую позицию курсора
  • isvisible - True-если окно видно или False если нет
  • isfocus - True-если окно в фокусе или False если нет
  • piccount - количество картинок
  • wordcount - количество слов
  • strcount - количество строк
  • linepos - номер текущей строки
New.input_mode(mode)
Parameters:mode
  • txtfield.NumericInputMode=2,
  • txtfield.TextInputMode=1

Установить режим ввода

>>> txt1.input_mode(txtfield.NumericInputMode)
>>> txt2.input_mode(2)
New.move(MovementType[, pix=20])
Parameters:
  • MovementType
    • txtfield.EFLeft - слево на право
    • txtfield.EFRight - справо на лево
    • txtfield.EFLineUp - текст на строку вниз
    • txtfield.EFLineDown - текст на строку вверх
    • txtfield.EFPageUp - страница вверх
    • txtfield.EFPageDown - страница вниз
  • pix – на сколько пикселей перемещать текст при горизонтальной прокрутке.

Перемещение текста

New.set_border(width, color)
Parameters:
  • width – ширина
  • color (hex) – цвет

Установить бордюр

New.set_interval(twips)

Установить расстояние между строками

New.set_margin(LeftMargin, RightMargin)

Установить левый и правый отступ

New.select(start, end)

Выделить текст

New.setcursor(pos)

Установить курсор в позицию

New.setimg(img, pos, rect)
Parameters:
  • img (graphics.Image) – изображение
  • pos – позиция установки
  • rect ((x, y)) – размер изображения

Вставляет картинку в поле

New.setpos(x, y)

Установить новую позицию окна

New.setsize(x, y)

Установить новый размер окна

New.shadow(size)

Добавить тень к окну в размер size

New.textstyle(name[, size, color, style=u"Normal"])
Parameters:
  • name – название шрифта
  • size – размер шрифта
  • color (hex) – цвет шрифта
  • style – стиль шрифта, (normal, bold, italic, italic-bold)
>>> txt1.textstyle(name=u'Nokia Sans S60', size=130, color=0x119922, style=u'bold')
>>> txt2.textstyle(u'Nokia Sans S60', 130, 0x119922, u'bold')
New.visible(True|False)

Показать-спрятать окно

New.z_index(index)

Переместить поле наверх или вниз(в зависимости от индекса других полей), значение index: 0-100