Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux

Модерирует : gyra, Maz

Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

vladvro



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

добавляем в файл SciTEBase.h
строка 284:
Код:
  void ShiftTo(int index_from, int index_to); //!-add-[TabsMoving]

строка 595:
Код:
  //!-start-[TabsMoving]
  void ShiftTab(int index_from, int index_to);
  void MoveTabRight();
  void MoveTabLeft();
  //!-end-[TabsMoving]

файл SciTEBuffers.cxx
строка 195:
Код:
//!-start-[TabsMoving]
void BufferList::ShiftTo(int index_from, int index_to) {
  // shift buffer to new place in buffers array
  if (index_from == index_to ||
      index_from < 0 || index_from >= length ||
      index_to < 0 || index_to >= length) return;
  int step = 1;
  if (index_from > index_to)
    step = -1;
  Buffer tmp = buffers[index_from];
  for(int i=index_from; i!=index_to; i+=step)
    buffers[i] = buffers[i+step];
  buffers[index_to] = tmp;
}
//!-end-[TabsMoving]

строка 745:
Код:
//!-start-[TabsMoving]
void SciTEBase::ShiftTab(int index_from, int index_to) {
  buffers.ShiftTo(index_from, index_to);
  buffers.SetCurrent(index_to);
  BuffersMenu();
 
#if PLAT_WIN
  // Tab Bar
  ::SendMessage(reinterpret_cast<HWND>(wTabBar.GetID()), TCM_SETCURSEL, (WPARAM)index_to, (LPARAM)0);
#endif
#if PLAT_GTK
  if (wTabBar.GetID())
    gtk_notebook_set_page(GTK_NOTEBOOK(wTabBar.GetID()), index_to);
#endif
 
  DisplayAround(buffers.buffers[buffers.Current()]);
}
 
void SciTEBase::MoveTabRight() {
  if (buffers.length < 2) return;
  int index_from = buffers.Current();
  int index_to = index_from + 1;
  if (index_to >= buffers.length)
    index_to = 0;
  ShiftTab(index_from, index_to);
}
 
void SciTEBase::MoveTabLeft() {
  if (buffers.length < 2) return;
  int index_from = buffers.Current();
  int index_to = index_from - 1;
  if (index_to < 0)
    index_to = buffers.length - 1;
  ShiftTab(index_from, index_to);
}
//!-end-[TabsMoving]

строка 818:
Код:
    // int menuStart = 5;
    int menuStart = 7; //!-changed-[TabsMoving]

файл SciTEProps.cxx, строка 1664:
Код:
    {"IDM_MOVETABRIGHT",    IDM_MOVETABRIGHT}, //!-add-[TabsMoving]
    {"IDM_MOVETABLEFT",    IDM_MOVETABLEFT}, //!-add-[TabsMoving]

файл SciTEBase.cxx, строка 3889:
Код:
//!-start-[TabsMoving]
  case IDM_MOVETABRIGHT:
    MoveTabRight();
    WindowSetFocus(wEditor);
    break;
  case IDM_MOVETABLEFT:
    MoveTabLeft();
    WindowSetFocus(wEditor);
    break;
//!-end-[TabsMoving]

файл SciTERes.rc, строка 174:
Код:
  MENUITEM "Move Tab &Right",            IDM_MOVETABRIGHT //!-add-[TabsMoving]
  MENUITEM "Move Tab &Left",            IDM_MOVETABLEFT //!-add-[TabsMoving]

файл SciTE.h, строка 179:
Код:
#define IDM_MOVETABRIGHT            508 //!-add-[TabsMoving]
#define IDM_MOVETABLEFT            509 //!-add-[TabsMoving]

 
и для удобства использования можно добавить в файл настроек клавиши быстрого вызова:
Код:
user.shortcuts=\
...
Ctrl+Shift+PageUp|IDM_MOVETABLEFT|\
Ctrl+Shift+PageDown|IDM_MOVETABRIGHT|\
...


Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 13:40 25-03-2007 | Исправлено: vladvro, 14:03 25-03-2007
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux
Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru