Exemple #1
0
FileDialog::FileDialog(axApp* app, axWindow* parent, 
					   const axRect& rect,
					   const string& folder_path):
					   axPanel(app, parent, rect)
{
	string path = app->GetCurrentAppDirectory();

	if(folder_path != "")
	{
		_dirNavigation = new DirectoryNavigation(folder_path);
	}
	else
	{
		_dirNavigation = new DirectoryNavigation("/home");
	}

	_folderContent = new FolderContent(app, this, 
									   axRect(axPoint(0, 31), rect.size - axSize(0, 31 + 30)),
									   _dirNavigation);

	axButtonInfo btn_info(string(path + "ressources/axDialogBtn.axobj"));

	function<void (axButtonMsg)> btnFct(GetOnBackBtn());

	axButton* b = new axButton(app, this, 
					  axRect(5, 5, 22, 22), 
					  axButtonEvents(btnFct), 
					  btn_info, "", "<",
					  axBUTTON_SINGLE_IMG | axBUTTON_IMG_RESIZE);

	b->SetBackgroundAlpha(0.5);

	btnFct = GetOnCancel();
	b = new axButton(app, this, 
					  axRect(rect.size.x - 130, rect.size.y - 26, 45, 20), 
					  axButtonEvents(btnFct), 
					  btn_info, "", "Cancel",
					  axBUTTON_SINGLE_IMG | axBUTTON_IMG_RESIZE);

	b->SetBackgroundAlpha(0.5);


	b = new axButton(app, this, 
					  axRect(rect.size.x - 60, rect.size.y - 26, 45, 20), 
					  axButtonEvents(), 
					  btn_info, "", "Select",
					  axBUTTON_SINGLE_IMG | axBUTTON_IMG_RESIZE);

	b->SetBackgroundAlpha(0.5);
}
Exemple #2
0
	OpenDialog::OpenDialog(const ax::Rect& rect)
	{
		// Create window.
		win = ax::Window::Create(rect);
		win->event.OnPaint = ax::WBind<ax::GC>(this, &OpenDialog::OnPaint);
		win->event.OnGlobalClick
			= ax::WBind<ax::Window::Event::GlobalClick>(this, &OpenDialog::OnGlobalClick);
		win->event.OnMouseLeftDown = ax::WBind<ax::Point>(this, &OpenDialog::OnMouseLeftDown);

		win->event.OnAssignToWindowManager = ax::WBind<int>(this, &OpenDialog::OnAssignToWindowManager);
		//		win->event.GrabGlobalMouse();
		//		ax::App::GetInstance().GetPopupManager()->AddGlobalClickListener(win);

		ax::DropMenu::Info menu_info;
		menu_info.normal = ax::Color(240, 240, 240);
		menu_info.hover = ax::Color(246, 246, 246);
		menu_info.font_color = ax::Color(0.0);
		menu_info.selected = ax::Color(41, 222, 255);
		menu_info.selected_hover = ax::Color(41, 226, 255);
		menu_info.selected_font_color = ax::Color(0.0);
		menu_info.contour = ax::Color(0.86);
		menu_info.separation = ax::Color(0.86);
		menu_info.up_down_arrow = ax::Color(0.35);
		menu_info.right_arrow = ax::Color(0.70);
		menu_info.item_height = 35;

		ax::os::Path dir("layouts/");
		//		ax::os::Directory dir;
		//		dir.Goto("layouts/");

		//		std::vector<ax::os::File> files = dir.GetContent();
		std::vector<ax::os::Path> files = dir.GetDirectoryContent();

		std::vector<std::string> layout_files;

		for (auto& n : files) {
			//		ax::console::Print(n.name);
			//			if (n.ext == "xml") {
			if (n.GetExtension() == "xml") {
				layout_files.push_back(n.GetAbsolutePath());
			}
		}

		for (auto& n : layout_files) {
			ax::console::Print(n);
		}

		//	ax::Size fsize(ax::App::GetInstance().GetFrameSize());
		ax::Size size(at::editor::MainWindow::WIDGET_MENU_WIDTH, rect.size.h);

		_menu = ax::shared<ax::DropMenu>(
			ax::Rect(ax::Point(0, 0), size), GetOnMenuSelection(), menu_info, layout_files);

		win->node.Add(_menu);

		ax::Size menu_size(_menu->GetWindow()->dimension.GetSize());

		auto open = ax::shared<ax::Button>(ax::Rect(rect.position.x, menu_size.h, size.w * 0.5, 30),
			GetOnOpen(), ax::Button::Info(), "", "Open");

		auto cancel = ax::shared<ax::Button>(
			ax::Rect(ax::Point(size.w * 0.5, menu_size.h), ax::Size(size.w * 0.5, 30)), GetOnCancel(),
			ax::Button::Info(), "", "Cancel");

		win->node.Add(open);
		win->node.Add(cancel);

		win->dimension.SetPosition(ax::Point(0, rect.position.y));

		//	win->dimension.SetSize(ax::Size(menu_size.w, menu_size.h + 30));

		//
		//		std::string font_path;
		//		ax::TextBox::Info txt_info;
		//		txt_info.normal = ax::Color(0.85);
		//		txt_info.hover = ax::Color(0.85);
		//		txt_info.highlight = ax::Color(0.6, 0.2); // This needs to be
		// transparent (alpha < 1.0).
		//		txt_info.selected = ax::Color(0.85);
		//		txt_info.selected_shadow = ax::Color(0.85);
		//		txt_info.cursor = ax::Color(0.0);
		//		txt_info.contour = ax::Color(0.3);;
		//		txt_info.font_color = ax::Color(0.0);
		//
		//		_txtBox = ax::shared<ax::TextBox>(ax::Rect(10, 10, 200, 30),
		// ax::TextBox::Events(), txt_info, "",
		//"default.xml");
		//		win->node.Add(_txtBox);
		//
		//		auto save = ax::shared<ax::Button>(ax::Rect(10, 50, 60, 30),
		// GetOnSave(), ax::Button::Info(), "",
		//"Save");
		//		auto cancel = ax::shared<ax::Button>(ax::Rect(10, 120, 60, 30),
		// GetOnCancel(), ax::Button::Info(),
		//"", "Cancel");
		//
		//		win->node.Add(save);
		//		win->node.Add(cancel);
	}