rtorrent: Layout dynamically resizes vertically.

git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@240 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
rakshasa
2005-01-28 23:45:57 +00:00
parent b994517819
commit 27109b542c
6 changed files with 86 additions and 69 deletions
+8 -11
View File
@@ -1,14 +1,15 @@
#ifndef RTORRENT_DISPLAY_MANAGER_H
#define RTORRENT_DISPLAY_MANAGER_H
#include <list>
#include "manager_element.h"
#include <vector>
namespace display {
class Manager : private std::list<ManagerElement> {
class Window;
class Manager : private std::vector<Window*> {
public:
typedef std::list<ManagerElement> Base;
typedef std::vector<Window*> Base;
using Base::iterator;
using Base::const_iterator;
@@ -20,18 +21,14 @@ public:
using Base::rbegin;
using Base::rend;
enum {
NEW_ROW = 0x1
};
Base::iterator add(Window* w, int flags = 0) { return Base::insert(end(), ManagerElement(w, flags)); }
using Base::insert;
using Base::erase;
using Base::push_back;
void adjust_layout();
void do_update();
private:
// Functions for adjusting ranges in different directions.
void adjust_row(iterator bItr, iterator eItr, int x, int y, int w, int h);
};
}