Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Soul

#1
Help requests / Re: menu bar
13 May 2014, 13:38:21
cool this is exactly that what i needed, thanks :3
#2
Help requests / menu bar
12 May 2014, 21:15:53
Hey, how i can use the same menu item names in differend menus?
something like this, when
    menu->addMenu("File");
    menu->addMenu("Layers");
    menu->addMenu("Tiles");
    menu->addMenu("Objects");
    menu->addMenuItem("File", "Create");
    menu->addMenuItem("File", "Open");
    menu->addMenuItem("File", "Save");
    menu->addMenuItem("File", "Exit");
    menu->addMenuItem("Tiles", "Create");
    menu->addMenuItem("Tiles", "Open");
    menu->addMenuItem("Tiles", "Exit");
    menu->addMenuItem("Objects", "Create");
    menu->addMenuItem("Objects", "Open");
    menu->addMenuItem("Objects", "Exit");
    menu->addMenuItem("Layers", "Tile");
    menu->addMenuItem("Layers", "Object");
    menu->addMenuItem("Layers", "Type");


when i use callback.text=="Open" only the first method will be called
#3
Help requests / Re: drawing sprites
04 May 2014, 16:42:38
i don't know what i do wrong, but it don't work, anyway never mind, i make other solution
#4
Help requests / Re: drawing sprites
04 May 2014, 11:58:09
hmmm i don't understand this source code : O
void Menu::LoadMenu(sf::RenderWindow &wnd)
{
    W=&wnd;
    gui.setWindow(wnd);
    gui.setGlobalFont("Font/djvs.ttf");
    gui.add(menu);
    tilegui.setWindow(T);
    tilegui.setGlobalFont("Font/djvs.ttf");
    tilegui.add(slider);
    menu->load(THEME_CONFIG_FILE);
    menu->setSize(wnd.getSize().x, 20);
    menu->addMenu("File");
    menu->addMenu("Layers");
    menu->addMenu("Tiles");
    menu->addMenu("Objects");
    menu->addMenuItem("File", "Create");
    menu->addMenuItem("File", "Load");
    menu->addMenuItem("File", "Save");
    menu->addMenuItem("File", "Exit");
    menu->bindCallback(tgui::MenuBar::MenuItemClicked);
    gui.add(window);
    window->bindCallback(tgui::ChildWindow::Closed);
    window->setCallbackId(0);
    Create->setCallbackId(1);
    Load->setCallbackId(2);
    menu->setCallbackId(3);
    slider->load(THEME_CONFIG_FILE);
    slider->setVerticalScroll(false);
    slider->setPosition(400, 0);
    slider->setSize(20, 300);
    slider->setMaximum(5);
    slider->setValue(0);
    slider->bindCallback(std::bind(this->moveTile, this, slider, std::ref(tilespr), 20, 100), tgui::Slider::ValueChanged);
}

void Menu::moveTile(tgui::Slider::Ptr slider, sf::Sprite& sprite, int minY, int maxY)
{
    if(slider->getValue()==minY)
    {
        sprite.setPosition(0,minY);
    }
    if(slider->getValue()==maxY)
    {
        sprite.setPosition(0,slider->getValue());
    }
    sprite.setPosition(sprite.getPosition().x, minY + (slider->getValue() / (float)slider->getMaximum()) * (maxY - minY));
}


i have this error
C:\Users\EasyNote\Desktop\cpp\mapeditor\src\Menu.cpp|34|error: no matching function for call to 'bind(<unresolved overloaded function type>, Menu* const, tgui::Slider::Ptr&, std::reference_wrapper<sf::Sprite>, int, int)'|
#5
Help requests / Re: drawing sprites
04 May 2014, 10:56:33
thanks for answer, anyway i think second renderwindow will be better to that what i want code :P, by the way
how can i use slider/scrollbar with sprite image? i mean, when i scroll slider/scrollbar the sprite is move up or down?
#6
Help requests / drawing sprites
03 May 2014, 23:33:01
Hey how can i draw sf::sprite on childwindow?
#7
Help requests / Re: editbox in childwindow
03 May 2014, 19:11:37
oh, I forgot about the principle footprint, thanks again for help and fast answer :), problem solved ^^
#8
Help requests / Re: editbox in childwindow
03 May 2014, 18:51:18
it's strange, in my game client editbox work, but in map editor no, it's just when i use childwindow maybe?

complete source of my Menu class

menu.h  #ifndef MENU_H
#define MENU_H
#include <TGUI/TGUI.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>
#include "../include/Map.h"
#define THEME_CONFIG_FILE "gui/Black.conf"

class Menu
{
    public:
        void LoadMenu(sf::RenderWindow &wnd);
        void Callback(Map &m);
        void Event(sf::Event &event);
        void Draw();
    protected:
    tgui::Gui gui;
    tgui::ChildWindow::Ptr Create;
    tgui::MenuBar::Ptr menu;
    tgui::Callback callback;
    tgui::ChildWindow::Ptr create;
    tgui::Button::Ptr BCreate;
    tgui::EditBox::Ptr name;
    tgui::EditBox::Ptr tilepath;
    tgui::EditBox::Ptr tilesize;
    tgui::EditBox::Ptr x;
    tgui::EditBox::Ptr y;
    sf::RenderWindow *W;
};

#endif // MENU_H


menu.cpp
#include "../include/Menu.h"
void Menu::LoadMenu(sf::RenderWindow &wnd)
{
    W=&wnd;
    gui.setWindow(wnd);
    gui.setGlobalFont("Font/djvs.ttf");
    tgui::MenuBar::Ptr m(gui);
    menu=m;
    menu->load(THEME_CONFIG_FILE);
    menu->setSize(wnd.getSize().x, 20);
    menu->addMenu("File");
    menu->addMenu("Layers");
    menu->addMenu("Tiles");
    menu->addMenu("Objects");
    menu->addMenuItem("File", "Create");
    menu->addMenuItem("File", "Load");
    menu->addMenuItem("File", "Save");
    menu->addMenuItem("File", "Exit");
    menu->bindCallback(tgui::MenuBar::MenuItemClicked);
    menu->setCallbackId(2);
    tgui::ChildWindow::Ptr c(gui);
    create=c;
    create->load(THEME_CONFIG_FILE);
    create->hide();
    create->setSize(400, 200);
    create->setBackgroundColor(sf::Color(80, 80, 80));
    create->setPosition(100, 460);
    create->setTitle("Map Creator");
    create->setIcon("../icon.jpg");
    tgui::EditBox::Ptr name(*create);
    tgui::EditBox::Ptr tilepath(*create);
    tgui::EditBox::Ptr tilesize(*create);
    tgui::EditBox::Ptr x(*create);
    tgui::EditBox::Ptr y(*create);
    name->load(THEME_CONFIG_FILE);
    name->setTextSize(10);
    name->setPosition(50, 50);
    name->setSize(100, 30);
    name->setText("Map name");
    tilepath->load(THEME_CONFIG_FILE);
    tilepath->setTextSize(10);
    tilepath->setPosition(50, 150);
    tilepath->setSize(100, 30);
    tilepath->setText("Tile path");
    tilesize->load(THEME_CONFIG_FILE);
    tilesize->setTextSize(10);
    tilesize->setPosition(50, 100);
    tilesize->setSize(100, 30);
    tilesize->setText("Tile size");
    x->load(THEME_CONFIG_FILE);
    x->setTextSize(10);
    x->setPosition(200, 50);
    x->setSize(100, 30);
    x->setText("X size");
    y->load(THEME_CONFIG_FILE);
    y->setTextSize(10);
    y->setPosition(200, 100);
    y->setSize(100, 30);
    y->setText("y size");
    tgui::Button::Ptr BCreate(*create);
    BCreate->load(THEME_CONFIG_FILE);
    BCreate->setPosition(250, 100);
    BCreate->setText("Create");
    BCreate->setCallbackId(1);
    BCreate->bindCallback(tgui::Button::LeftMouseClicked);
    BCreate->setSize(50, 40);
}

void Menu::Callback(Map &m)
{
    while (gui.pollCallback(callback))
    {
        if (callback.id == 1)
        {
            std::string Name, Path;
            sf::String str;
            int Size,xsize,ysize;
            str=name->getText();
            std::cout<<str.toAnsiString()<<std::endl; this line nothing print, same down
            Name="maps/"+str.toAnsiString();
            str=tilepath->getText();
            std::cout<<str.toAnsiString()<<std::endl;
            Path="gfx/"+str.toAnsiString();
            str=tilesize->getText();
            std::cout<<str.toAnsiString()<<std::endl;
            Size=atoi(str.toAnsiString().c_str());
            str=x->getText();
            std::cout<<str.toAnsiString()<<std::endl;
            xsize=atoi(str.toAnsiString().c_str());
            str=y->getText();
            std::cout<<str.toAnsiString()<<std::endl;
            ysize=atoi(str.toAnsiString().c_str());
            m.Create(xsize,ysize,Size,Name.c_str(),Path.c_str());
        }
        else if (callback.id == 2)
        {
            if (callback.text == "Exit")
            W->close();
            else if( callback.text == "Create")
            create->show();
            else if( callback.text == "Save")
                m.Save();
            else
            create->hide();
        }
    }
}

void Menu::Event(sf::Event &event)
{
    gui.handleEvent(event);
}

void Menu::Draw()
{
    gui.draw();
}
#9
Help requests / editbox in childwindow
03 May 2014, 18:26:59
hmmm i have this code, but it don't work, why?

        if (callback.id == 1)
        {
            std::string n,p;
            sf::String str;
            int s,xs,ys;
            create->get()
            str=name->getText();
            n="maps/"+str.toAnsiString();
            str=tilepath->getText();
            p="gfx/"+str.toAnsiString();
            str=tilesize->getText();
            s=atoi(str.toAnsiString().c_str());
            str=x->getText();
            xs=atoi(str.toAnsiString().c_str());
            str=y->getText();
            ys=atoi(str.toAnsiString().c_str());
            m.Create(xs,ys,s,n.c_str(),p.c_str());
        }

when i use getText() it return empty string, what's wrong?
#10
Help requests / Re: childwindow
03 May 2014, 16:51:24
GEAT!, thanks so much :), now i can end my map editor :D
#11
Help requests / childwindow
03 May 2014, 16:26:12
Hey, i want use childwindow to my mapeditor but i don't know how i can add to childwindow other widgets, something like buttons and sliders, any1 can show me how use it?
thanks :)