Jump to content
Korean Random
SV_Kirov

Как создать форму(Окно) в ангаре

Recommended Posts

Значит где-то накосячил.

 

 

'.py'

class SaveShellsWindow(AbstractWindowView):

    def __init__(self):
        super(SaveShellsWindow, self).__init__()

    def _populate(self):
        super(SaveShellsWindow, self)._populate()

    def onWindowClose(self):
        self.destroy()

g_entitiesFactories.addSettings(ViewSettings("SaveShells", SaveShellsWindow, "SaveShells.swf", ViewTypes.WINDOW, None, ScopeTemplates.VIEW_SCOPE))

def saveShells_callback():
    g_appLoader.getDefLobbyApp().loadView("SaveShells") 

'.as'

package
{
	import net.wg.gui.components.controls.CheckBox;
	import net.wg.infrastructure.base.AbstractWindowView;
	import net.wg.gui.components.controls.SoundButton;
	
	public class SaveShells extends AbstractWindowView
	{
		//Основные кнопки
		private var soundButtonOk     : SoundButton;
        private var soundButtonCancel : SoundButton;
		private var soundButtonApply  : SoundButton;
		
		//Основной мод
		private var isEnabled           : CheckBox;
		
		public function SaveShells() 
		{
			super();
		}
		
		override protected function onPopulate() : void
        {
            super.onPopulate();
            width = 600;
            height = 400;
            window.title = "SaveShells Settings";
			
			soundButtonOk = addChild(App.utils.classFactory.getComponent("ButtonNormal", SoundButton, {
                width: 100,
                height: 25,
                x: 195,
                y: 365,
                label: "Ok"
            })) as SoundButton;

            soundButtonCancel = addChild(App.utils.classFactory.getComponent("ButtonNormal", SoundButton, {
                width: 100,
                height: 25,
                x: 305,
                y: 365,
                label: "Cancel"
            })) as SoundButton;
			
			soundButtonApply = addChild(App.utils.classFactory.getComponent("ButtonNormal", SoundButton, {
                width: 100,
                height: 25,
                x: 415,
                y: 365,
                label: "Apply"
            })) as SoundButton;
			
			
        }
		
	}
	
} 

Share this post


Link to post

Short link
Share on other sites

после

window.title = "SaveShells Settings";
добавь

window.useBottomBtns = true;
Edited by ShadowHunterRUS
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
@Wanket, as файл про форматирование вообще видно не слышал... едва глаза не вытекли от таких отступов.

Share this post


Link to post

Short link
Share on other sites

 

 

едва глаза не вытекли от таких отступов.
 

При копипасте отступы сломались, а так они в стиле Олмана у меня

 

после

window.title = "SaveShells Settings";
добавь
window.useBottomBtns = true;

А кнопки как-нибудь добавляются через ф-ию на эту панель или надо вручную координаты прописывать?

Share this post


Link to post

Short link
Share on other sites

А кнопки как-нибудь добавляются через ф-ию на эту панель или надо вручную координаты прописывать?

Вручную.

Share this post


Link to post

Short link
Share on other sites

Что то у меня не хочет TextInput отображаться:

default_percentNumeric = new NumericStepper();
default_percentNumeric.maximum = 5;
default_percentNumeric.minimum = 1;
default_percentNumeric.addEventListener(Event.CHANGE, onDefault_percentNumericChange)
default_percentNumeric.y = 50;
default_percentNumeric.x = 50;
addChild(default_percentNumeric);

defaultText = new TextInput();
defaultText.y = 50;
defaultText.x = 300;
defaultText.text = " ";
defaultText.visible = true;
addChild(defaultText);

'Результат'

9f7a2888ddeb.jpg

Share this post


Link to post

Short link
Share on other sites

@Wanket,

defaultText = addChild(App.utils.classFactory.getComponent("TextInput", TextInput, {
	width: 200,
	x: 300,
	y: 50
})) as TextInput;
Edited by ShadowHunterRUS

Share this post


Link to post

Short link
Share on other sites

 

 

Стоп.

?
Как подписаться на изменение NumericStepper? addEventListener(Event.CHANGE, onDefault_percentNumericChange); не робит

Share this post


Link to post

Short link
Share on other sites

?

Как подписаться на изменение NumericStepper? addEventListener(Event.CHANGE, onDefault_percentNumericChange); не робит

import scaleform.clik.events.IndexEvent;
...
default_percentNumeric.addEventListener(IndexEvent.INDEX_CHANGE, onDefault_percentNumericChange);
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Как передать Vector<> из флеша в питон? Простые типы передаются, а вот вектор приходит в виде Object

Share this post


Link to post

Short link
Share on other sites

Как передать Vector<> из флеша в питон? Простые типы передаются, а вот вектор приходит в виде Object

преобразуй его в Array
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Как передать Vector<> из флеша в питон? Простые типы передаются, а вот вектор приходит в виде Object

При передаче происходит преобразование типов. Что и как преобразуется, НЯП, я рассказывал в темке про DAAPI. Все, что не перерабатывается автоматически, нужно либо сериализовать (превратить в строку, например JSON), а потом десериализвать при получении, либо конвертировать в такой тип, который нормально передается, в частности в твоем случае

преобразуй его в Array

В питоне получишь либо list, либо tuple, значения большого не имеет, по сути. Насчет преобразования словарей - не в курсе, не экспериментировал.

Share this post


Link to post

Short link
Share on other sites

 

Я не могу понять как передавать данные на вывод.

Вроде как метод остался но он у меня не отрабатывает в прежнем виде

AttributeError: 'BigWorld.WebBrowserProvider' object has no attribute 'executeJavascript'

 

Всё, забудь про executeJavascript, этого интерфейса в CEF больше нет.

Кроме того, CEF при загрузке странички с флешом запускает cmd.exe, что вызывает сворачивание WoT с фуллскрина

И зачем WG надо было менять шило на мыло? Awesomium тот же chrome...

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Без флеша ж.

Флеш можно поставить плагином PPAPI. По этому поводу столкнулся сейчас с таким глюком - при внедрении флешки в страничку, например через swfobject.js, клиент вылетает из фуллскрина и сворачивается.

Причина этому - описана здесь - https://bugs.chromium.org/p/chromium/issues/detail?id=508002(TL;DR: вызов system('echo NOT SANDBOXED') запускается cmd.exe /c echo NOT SANDBOXED, перехватывая фокус)

Нашел корявый выход из этой ситуации - подменить %COMSPEC% чем-то другим, что не создаёт консоли/окна, на практике это любой бинарник сервиса, например svchost

 

то есть вот так:

import os
comspec = os.environ.get('COMSPEC', 'C:\\Windows\\system32\\cmd.exe').replace('cmd.exe', 'svchost.exe')
os.environ['COMSPEC'] = comspec
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Парни, а либу wg для нового боевого интерфейса где можно взять? Они же вроде как впилили в бой тот же фреймворк, по логике старые либы и файлы уже не катят...

Кстати, никто случаем не подкинет толковой ссылки на подобный гайдец?

Share this post


Link to post

Short link
Share on other sites

Подскажите. Разработкой флеша я раньше не занимался. Тут пробую кое-что свою флешку для Ангара (текст, чекбокс для начала, не хочу свое окно создавать). Собирал в FlashDevelop. Собирается без ошибок, а при попытке запуска вылетает с ошибкой:" Error #1014: Class net.wg.gui.components.controls::CheckBox could not be found."

Это нормально? Или все-таки искать ошибки?

 

P.S. Можно ли пользоваться библиотекой "flash.events.MouseEvent" для отслеживания?

Edited by mitgard

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...