зеркало из https://github.com/mozilla/pjs.git
Added more editor mode support
This commit is contained in:
Родитель
98f602bbcc
Коммит
c7b8b1e1d9
|
@ -6,6 +6,7 @@
|
|||
#include "cbrowse.h"
|
||||
#include "CBrowseDlg.h"
|
||||
#include "ControlEventSink.h"
|
||||
#include "..\..\DHTMLCmdIds.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
|
@ -80,6 +81,9 @@ BEGIN_MESSAGE_MAP(CBrowseDlg, CDialog)
|
|||
ON_WM_SIZE()
|
||||
ON_BN_CLICKED(IDC_EDITMODE, OnEditMode)
|
||||
//}}AFX_MSG_MAP
|
||||
ON_COMMAND(IDB_BOLD, OnEditBold)
|
||||
ON_COMMAND(IDB_ITALIC, OnEditItalic)
|
||||
ON_COMMAND(IDB_UNDERLINE, OnEditUnderline)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
#define IL_CLOSEDFOLDER 0
|
||||
|
@ -87,6 +91,7 @@ END_MESSAGE_MAP()
|
|||
#define IL_TEST 2
|
||||
#define IL_TESTFAILED 3
|
||||
#define IL_TESTPASSED 4
|
||||
#define IL_TESTPARTIAL 5
|
||||
#define IL_NODE IL_TEST
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -132,7 +137,12 @@ BOOL CBrowseDlg::OnInitDialog()
|
|||
m_cImageList.Add(AfxGetApp()->LoadIcon(IDI_TEST));
|
||||
m_cImageList.Add(AfxGetApp()->LoadIcon(IDI_TESTFAILED));
|
||||
m_cImageList.Add(AfxGetApp()->LoadIcon(IDI_TESTPASSED));
|
||||
|
||||
m_cImageList.Add(AfxGetApp()->LoadIcon(IDI_TESTPARTIAL));
|
||||
|
||||
// Set up the editor bar
|
||||
m_EditBar.Create(this);
|
||||
m_EditBar.LoadToolBar(IDR_DHTMLEDIT);
|
||||
m_EditBar.SetWindowPos(&wndTop, 0, 0, 400, 40, SWP_SHOWWINDOW);
|
||||
|
||||
// Set up some URLs. The first couple are internal
|
||||
m_cmbURLs.AddString(m_szTestURL);
|
||||
|
@ -689,7 +699,7 @@ void CBrowseDlg::OnDestroy()
|
|||
delete this;
|
||||
}
|
||||
|
||||
void CBrowseDlg::OnEditMode()
|
||||
void CBrowseDlg::ExecOleCommand(const GUID *pguidGroup, DWORD nCmdId)
|
||||
{
|
||||
CComPtr<IUnknown> spUnkBrowser;
|
||||
m_pControlSite->GetControlUnknown(&spUnkBrowser);
|
||||
|
@ -697,12 +707,39 @@ void CBrowseDlg::OnEditMode()
|
|||
CIPtr(IOleCommandTarget) spCommandTarget = spUnkBrowser;
|
||||
if (spCommandTarget)
|
||||
{
|
||||
DWORD nCmdID = (m_btnEditMode.GetCheck()) ? IDM_EDITMODE : IDM_BROWSEMODE;
|
||||
spCommandTarget->Exec(&CGID_MSHTML, nCmdID, 0, NULL, NULL);
|
||||
HRESULT hr = spCommandTarget->Exec(&CGID_MSHTML, nCmdId, 0, NULL, NULL);
|
||||
OutputString(_T("Exec(%d), returned %08x"), (int) nCmdId, hr);
|
||||
}
|
||||
else
|
||||
{
|
||||
OutputString(_T("Error: Browser does not support IOleCommandTarget"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CBrowseDlg::OnEditMode()
|
||||
{
|
||||
DWORD nCmdID = (m_btnEditMode.GetCheck()) ? IDM_EDITMODE : IDM_BROWSEMODE;
|
||||
ExecOleCommand(&CGID_MSHTML, nCmdID);
|
||||
|
||||
// if (m_pControlSite)
|
||||
// {
|
||||
// m_pControlSite->SetAmbientUserMode((m_btnEditMode.GetCheck() == 0) ? FALSE : TRUE);
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
void CBrowseDlg::OnEditBold()
|
||||
{
|
||||
ExecOleCommand(&CGID_MSHTML, IDM_BOLD);
|
||||
}
|
||||
|
||||
void CBrowseDlg::OnEditItalic()
|
||||
{
|
||||
ExecOleCommand(&CGID_MSHTML, IDM_ITALIC);
|
||||
}
|
||||
|
||||
void CBrowseDlg::OnEditUnderline()
|
||||
{
|
||||
ExecOleCommand(&CGID_MSHTML, IDM_UNDERLINE);
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ public:
|
|||
void UpdateTest(HTREEITEM hItem, TestResult nResult);
|
||||
void UpdateTestSet(HTREEITEM hItem);
|
||||
void OutputString(const TCHAR *szMessage, ...);
|
||||
void ExecOleCommand(const GUID *pguidGroup, DWORD nCmdId);
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CBrowseDlg)
|
||||
|
@ -44,6 +45,7 @@ public:
|
|||
BOOL m_bNewWindow;
|
||||
//}}AFX_DATA
|
||||
|
||||
CToolBar m_EditBar;
|
||||
CPropertySheet m_dlgPropSheet;
|
||||
CTabMessages m_TabMessages;
|
||||
CTabTests m_TabTests;
|
||||
|
@ -80,6 +82,10 @@ protected:
|
|||
afx_msg void OnSize(UINT nType, int cx, int cy);
|
||||
afx_msg void OnEditMode();
|
||||
//}}AFX_MSG
|
||||
afx_msg void OnEditBold();
|
||||
afx_msg void OnEditItalic();
|
||||
afx_msg void OnEditUnderline();
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
|
|
|
@ -1,323 +0,0 @@
|
|||
# Microsoft Developer Studio Project File - Name="cbrowse" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||
|
||||
CFG=cbrowse - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "cbrowse.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "cbrowse.mak" CFG="cbrowse - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "cbrowse - Win32 Release" (based on "Win32 (x86) Application")
|
||||
!MESSAGE "cbrowse - Win32 Debug" (based on "Win32 (x86) Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "cbrowse - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 6
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 6
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /o "NUL" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386
|
||||
# ADD LINK32 /nologo /subsystem:windows /machine:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "cbrowse - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 6
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 6
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /FR /Yu"stdafx.h" /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /o "NUL" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "cbrowse - Win32 Release"
|
||||
# Name "cbrowse - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\ActiveScriptSite.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\cbrowse.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Cbrowse.idl
|
||||
# ADD MTL /h "Cbrowse_i.h" /iid "Cbrowse_i.c" /Oicf
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\cbrowse.rc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CBrowseDlg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CBrowserCtlSite.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ControlEventSink.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\ControlSite.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\ControlSiteIPFrame.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\EditToolBar.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\MozActiveX.java
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\PickerDlg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\PropertyBag.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.cpp
|
||||
# ADD CPP /Yc"stdafx.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabDOM.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabMessages.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabTests.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Tests.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TestScriptHelper.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\ActiveScriptSite.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\cbrowse.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Cbrowse_i.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CBrowseDlg.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CBrowserCtlSite.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ControlEventSink.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\ControlSite.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\ControlSiteIPFrame.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\EditToolBar.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\PickerDlg.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Resource.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabDOM.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabMessages.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TabTests.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Tests.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TestScriptHelper.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\cbrowse.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\cbrowse.rc2
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\closedfolder.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\openfold.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\openfolder.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\test.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\testfailed.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\testpassed.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\res\toolbar1.bmp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Scripts"
|
||||
|
||||
# PROP Default_Filter "js;vbs"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Scripts\Basic.vbs
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Scripts\NewWindow.vbs
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Scripts\Post.vbs
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Cbrowse.rgs
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CBrowserCtlSite.rgs
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ControlEventSink.rgs
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ReadMe.txt
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TestScriptHelper.rgs
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
# Section cbrowse : {10404710-0021-001E-1B00-1B00EAA80000}
|
||||
# 1:11:IDR_CBROWSE:103
|
||||
# End Section
|
|
@ -32,6 +32,7 @@ IDI_CLOSEDFOLDER ICON DISCARDABLE "res\\closedfolder.ico"
|
|||
IDI_OPENFOLDER ICON DISCARDABLE "res\\openfolder.ico"
|
||||
IDI_TESTPASSED ICON DISCARDABLE "res\\testpassed.ico"
|
||||
IDI_TESTFAILED ICON DISCARDABLE "res\\testfailed.ico"
|
||||
IDI_TESTPARTIAL ICON DISCARDABLE "res\\testpartial.ico"
|
||||
#endif // Neutral resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -103,18 +104,18 @@ CAPTION "CBrowse"
|
|||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
CONTROL "",IDC_TAB_MARKER,"Static",SS_BLACKFRAME,7,223,279,89
|
||||
RTEXT "&URL:",IDC_STATIC,6,13,18,8
|
||||
DEFPUSHBUTTON "&Go",IDC_GO,134,11,25,13
|
||||
CONTROL "",IDC_BROWSER_MARKER,"Static",SS_BLACKFRAME,7,29,279,
|
||||
187
|
||||
COMBOBOX IDC_URL,26,11,106,52,CBS_DROPDOWN | CBS_AUTOHSCROLL |
|
||||
RTEXT "&URL:",IDC_STATIC,7,26,18,8
|
||||
DEFPUSHBUTTON "&Go",IDC_GO,135,24,25,13
|
||||
CONTROL "",IDC_BROWSER_MARKER,"Static",SS_BLACKFRAME,7,42,279,
|
||||
174
|
||||
COMBOBOX IDC_URL,27,24,106,52,CBS_DROPDOWN | CBS_AUTOHSCROLL |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "<",IDC_BACKWARD,162,11,14,13
|
||||
PUSHBUTTON ">",IDC_FORWARD,178,11,14,13
|
||||
PUSHBUTTON "<",IDC_BACKWARD,163,24,14,13
|
||||
PUSHBUTTON ">",IDC_FORWARD,179,24,14,13
|
||||
CONTROL "&New window",IDC_NEWWINDOW,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,199,7,53,10
|
||||
WS_TABSTOP,200,20,53,10
|
||||
CONTROL "&Edit mode",IDC_EDITMODE,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,199,17,47,10
|
||||
WS_TABSTOP,200,30,47,10
|
||||
END
|
||||
|
||||
|
||||
|
@ -370,6 +371,13 @@ BEGIN
|
|||
IDD_TAB_DOM "DOM"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDB_BOLD "Bold"
|
||||
IDB_ITALIC "Italic"
|
||||
IDB_UNDERLINE "Underline"
|
||||
END
|
||||
|
||||
#endif // English (U.K.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#define IDD_TAB_TESTS 136
|
||||
#define IDD_TAB_DOM 137
|
||||
#define IDR_DHTMLEDIT 138
|
||||
#define IDI_TESTPARTIAL 140
|
||||
#define IDC_URL 1000
|
||||
#define IDC_GO 1001
|
||||
#define IDC_BROWSER_MARKER 1002
|
||||
|
@ -41,6 +42,7 @@
|
|||
#define IDC_CHECK1 1021
|
||||
#define IDC_EDIT1 1022
|
||||
#define IDC_EDITMODE 1023
|
||||
#define IDC_BUTTON1 1024
|
||||
#define IDB_BOLD 32771
|
||||
#define IDB_ITALIC 32772
|
||||
#define IDB_UNDERLINE 32773
|
||||
|
@ -54,9 +56,9 @@
|
|||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 140
|
||||
#define _APS_NEXT_RESOURCE_VALUE 141
|
||||
#define _APS_NEXT_COMMAND_VALUE 32779
|
||||
#define _APS_NEXT_CONTROL_VALUE 1024
|
||||
#define _APS_NEXT_CONTROL_VALUE 1025
|
||||
#define _APS_NEXT_SYMED_VALUE 107
|
||||
#endif
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче