Struct fm::preview::Directory

source ·
pub struct Directory {
    pub content: Vec<(String, ColoredString)>,
    pub tree: Tree,
    pub selected_index: usize,
    /* private fields */
}
Expand description

Display a tree view of a directory. The “tree view” is calculated recursively. It may take some time if the directory has a lot of children.

Fields§

§content: Vec<(String, ColoredString)>§tree: Tree§selected_index: usize

Implementations§

source§

impl Directory

source

pub fn new( path: &Path, users_cache: &UsersCache, colors: &Colors, filter_kind: &FilterKind, show_hidden: bool, max_depth: Option<usize> ) -> FmResult<Self>

Creates a new tree view of the directory. We only hold the result here, since the tree itself has now usage atm.

source

pub fn empty(path: &Path, users_cache: &UsersCache) -> FmResult<Self>

Creates an empty directory preview.

source

pub fn clear(&mut self)

Reset the attributes to default one and free some unused memory.

source

pub fn len(&self) -> usize

Number of displayed lines.

source

pub fn is_empty(&self) -> bool

True if there’s no lines in preview.

source

pub fn select_root(&mut self, colors: &Colors) -> FmResult<()>

Select the root node and reset the view.

source

pub fn unselect_children(&mut self)

Unselect every child node.

source

pub fn select_next(&mut self, colors: &Colors) -> FmResult<()>

Select the “next” element of the tree if any. This is the element immediatly below the current one.

source

pub fn select_prev(&mut self, colors: &Colors) -> FmResult<()>

Select the previous sibling if any. This is the element immediatly below the current one.

source

pub fn page_up(&mut self, colors: &Colors) -> FmResult<()>

Move up 10 times.

source

pub fn page_down(&mut self, colors: &Colors) -> FmResult<()>

Move down 10 times

source

pub fn update_tree_position_from_index( &mut self, colors: &Colors ) -> FmResult<()>

Update the position of the selected element from its index.

source

pub fn select_first_child(&mut self, colors: &Colors) -> FmResult<()>

Select the first child, if any.

source

pub fn select_parent(&mut self, colors: &Colors) -> FmResult<()>

Select the parent of current node.

source

pub fn go_to_bottom_leaf(&mut self, colors: &Colors) -> FmResult<()>

Select the last leaf of the tree (ie the last line.)

source

pub fn make_preview(&mut self, colors: &Colors)

Make a preview of the tree.

source

pub fn calculate_tree_window(&self, height: usize) -> (usize, usize, usize)

Calculates the top, bottom and lenght of the view, depending on which element is selected and the size of the window used to display.

Trait Implementations§

source§

impl Clone for Directory

source§

fn clone(&self) -> Directory

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Directory

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Window<(String, ColoredString)> for Directory

source§

fn window( &self, top: usize, bottom: usize, length: usize ) -> Take<Skip<Enumerate<Iter<'_, (String, ColoredString)>>>>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AsAny for Twhere T: Any,

source§

fn as_any(&self) -> &(dyn Any + 'static)

source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneAny for Twhere T: Any + Clone + Send + Sync,

§

fn clone_any(&self) -> Box<dyn CloneAny + 'static, Global>

§

fn clone_any_send(&self) -> Box<dyn CloneAny + Send + 'static, Global>

§

fn clone_any_sync(&self) -> Box<dyn CloneAny + Sync + 'static, Global>

§

fn clone_any_send_sync( &self ) -> Box<dyn CloneAny + Send + Sync + 'static, Global>

source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> DebugAny for Twhere T: Any + Debug,

§

impl<T> UnsafeAny for Twhere T: Any,