Beispiel #1
0
		textbox& textbox::border(bool has_border)
		{
			if(get_drawer_trigger().border(has_border))
			{
				auto editor = get_drawer_trigger().editor();
				if(editor)
					API::refresh_window(handle());
			}
			return *this;
		}
Beispiel #2
0
		void textbox::store(std::string file, nana::unicode encoding)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->textbase().store(std::move(file), true, encoding);
		}
Beispiel #3
0
		void textbox::select_behavior(bool move_to_end)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->select_behavior(move_to_end);
		}
Beispiel #4
0
 unsigned progress::value(unsigned val)
 {
     internal_scope_guard isg;
     if(API::empty_window(this->handle()) == false)
         return get_drawer_trigger().value(val);
     return 0;
 }
Beispiel #5
0
		void textbox::set_accept(std::function<bool(wchar_t)> fn)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if(editor)
				editor->set_accept(std::move(fn));
		}
Beispiel #6
0
		void textbox::load(const nana::char_t* file)
		{
			internal_scope_guard isg;
			auto editor = get_drawer_trigger().editor();
			if(editor)
				editor->load(static_cast<std::string>(nana::charset(file)).c_str());
		}
Beispiel #7
0
		void textbox::load(std::string file)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor && editor->load(file.data()))
				API::update_window(handle());
		}
Beispiel #8
0
		void textbox::focus_behavior(text_focus_behavior behavior)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->focus_behavior(behavior);
		}
Beispiel #9
0
		textbox& textbox::mask(nana::char_t ch)
		{
			auto editor = get_drawer_trigger().editor();
			if(editor && editor->mask(ch))
				API::refresh_window(handle());
			return *this;
		}
Beispiel #10
0
		//Override _m_typeface for changing the caret
		void textbox::_m_typeface(const nana::paint::font& font)
		{
			widget::_m_typeface(font);
			auto editor = get_drawer_trigger().editor();
			if(editor)
				editor->reset_caret_height();
		}
Beispiel #11
0
		void textbox::copy() const
		{
			internal_scope_guard isg;
			auto editor = get_drawer_trigger().editor();
			if(editor)
				editor->copy();
		}
Beispiel #12
0
		void textbox::erase_keyword(const std::string& kw)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->erase_keyword(to_wstring(kw));
		}
Beispiel #13
0
		void textbox::erase_highlight(const std::string& name)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->erase_highlight(name);
		}
Beispiel #14
0
		void textbox::set_highlight(const std::string& name, const ::nana::color& fgcolor, const ::nana::color& bgcolor)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->set_highlight(name, fgcolor, bgcolor);
		}
Beispiel #15
0
		void textbox::set_undo_queue_length(std::size_t len)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->set_undo_queue_length(len);
		}
Beispiel #16
0
		void textbox::store(std::string file)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->textbase().store(std::move(file), false, nana::unicode::utf8);	//3rd parameter is just for syntax, it will be ignored
		}
Beispiel #17
0
		void textbox::store(const nana::char_t* file, nana::unicode encoding) const
		{
			internal_scope_guard isg;
			auto editor = get_drawer_trigger().editor();
			if(editor)
				editor->textbase().store(static_cast<std::string>(nana::charset(file)).c_str(), encoding);
		}
Beispiel #18
0
		textbox& textbox::editable(bool able)
		{
			auto editor = get_drawer_trigger().editor();
			if(editor)
				editor->editable(able);
			return *this;
		}
Beispiel #19
0
		textbox& textbox::multi_lines(bool ml)
		{
			auto editor = get_drawer_trigger().editor();
			if(editor && editor->multi_lines(ml))
				API::update_window(handle());
			return *this;
		}
Beispiel #20
0
		void textbox::select(bool yes)
		{
			internal_scope_guard isg;
			auto editor = get_drawer_trigger().editor();
			if(editor && editor->select(yes))
				API::refresh_window(*this);
		}
Beispiel #21
0
		textbox& textbox::tip_string(const nana::string& str)
		{
			internal_scope_guard isg;
			auto editor = get_drawer_trigger().editor();
			if(editor && editor->tip_string(str))
				API::refresh_window(handle());
			return *this;
		}
Beispiel #22
0
		/// Enables/disables the textbox to indent a line. Idents a new line when it is created by pressing enter.
		/// @param generator generates text for identing a line. If it is empty, textbox indents the line according to last line.
		textbox& textbox::indention(bool enb, std::function<std::string()> generator)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->indent(enb, generator);
			return *this;
		}
Beispiel #23
0
		textbox& textbox::mask(wchar_t ch)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if(editor && editor->mask(ch))
				API::refresh_window(handle());
			return *this;
		}
Beispiel #24
0
		textbox& textbox::enable_caret()
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				editor->editable(editor->attr().editable, true);
			return *this;
		}
Beispiel #25
0
		textbox& textbox::editable(bool able)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if(editor)
				editor->editable(able, false);
			return *this;
		}
Beispiel #26
0
		textbox& textbox::tip_string(std::string str)
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if(editor && editor->tip_string(std::move(str)))
				API::refresh_window(handle());
			return *this;
		}
Beispiel #27
0
		void picture::set_gradual_background(const ::nana::color& from, const ::nana::color& to, bool horizontal)
		{
			auto & bground = get_drawer_trigger().impl_->gradual_bground;
			bground.gradual_from = from;
			bground.gradual_to = to;
			bground.horizontal = horizontal;

			API::refresh_window(*this);
		}
Beispiel #28
0
		rectangle textbox::text_area() const
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				return editor->text_area(false);

			return{};
		}
Beispiel #29
0
		std::vector<upoint> textbox::text_position() const
		{
			internal_scope_guard lock;
			auto editor = get_drawer_trigger().editor();
			if (editor)
				return editor->text_position();
			
			return{};
		}
Beispiel #30
0
		std::string textbox::filename() const
		{
			internal_scope_guard isg;
			auto editor = get_drawer_trigger().editor();
			if(editor)
				return editor->textbase().filename();

			return std::string();
		}